aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-02-11 00:26:37 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-02-11 00:26:37 +0000
commitedb7412e0ec4bfbc8e054d50b52f047ba70fd66d (patch)
tree9bd04a32d81f51bfc2972eee683e9a0caa0a9e14 /gcc
parentdb4c6b79ff7bf53f5b747c2b86664d8baf04f779 (diff)
downloadgcc-edb7412e0ec4bfbc8e054d50b52f047ba70fd66d.zip
gcc-edb7412e0ec4bfbc8e054d50b52f047ba70fd66d.tar.gz
gcc-edb7412e0ec4bfbc8e054d50b52f047ba70fd66d.tar.bz2
aggr4.ads: New test.
* gnat.dg/specs/aggr4.ads: New test. * gnat.dg/specs/aggr4_pkg.ads: New helper. From-SVN: r184122
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gnat.dg/specs/aggr4.ads9
-rw-r--r--gcc/testsuite/gnat.dg/specs/aggr4_pkg.ads26
3 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ecf16a1..bd91d58 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/aggr4.ads: New test.
+ * gnat.dg/specs/aggr4_pkg.ads: New helper.
+
2012-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR target/52146
diff --git a/gcc/testsuite/gnat.dg/specs/aggr4.ads b/gcc/testsuite/gnat.dg/specs/aggr4.ads
new file mode 100644
index 0000000..4cdf652
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/specs/aggr4.ads
@@ -0,0 +1,9 @@
+-- { dg-do compile }
+
+with Aggr4_Pkg; use Aggr4_Pkg;
+
+package Aggr4 is
+
+ C : constant Rec3 := (Data => (D => One, Value => Zero));
+
+end Aggr4;
diff --git a/gcc/testsuite/gnat.dg/specs/aggr4_pkg.ads b/gcc/testsuite/gnat.dg/specs/aggr4_pkg.ads
new file mode 100644
index 0000000..c0f3c8c
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/specs/aggr4_pkg.ads
@@ -0,0 +1,26 @@
+-- { dg-excess-errors "cannot generate code" }
+
+package Aggr4_Pkg is
+
+ function F return Integer;
+
+ type Rec1 is tagged record
+ I : Integer;
+ end record;
+
+ Zero : constant Rec1 := (I => F);
+
+ type Enum is (One, Two);
+
+ type Rec2 (D : Enum := One) is record
+ case D is
+ when One => Value : Rec1;
+ when others => null;
+ end case;
+ end record;
+
+ type Rec3 is record
+ Data : Rec2;
+ end record;
+
+end Aggr4_Pkg;