From edb7412e0ec4bfbc8e054d50b52f047ba70fd66d Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sat, 11 Feb 2012 00:26:37 +0000 Subject: [PATCH] aggr4.ads: New test. * gnat.dg/specs/aggr4.ads: New test. * gnat.dg/specs/aggr4_pkg.ads: New helper. From-SVN: r184122 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gnat.dg/specs/aggr4.ads | 9 ++++++++ gcc/testsuite/gnat.dg/specs/aggr4_pkg.ads | 26 +++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gcc/testsuite/gnat.dg/specs/aggr4.ads create mode 100644 gcc/testsuite/gnat.dg/specs/aggr4_pkg.ads diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ecf16a18a2d..bd91d58cc6d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-02-10 Eric Botcazou + + * gnat.dg/specs/aggr4.ads: New test. + * gnat.dg/specs/aggr4_pkg.ads: New helper. + 2012-02-10 H.J. Lu 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 00000000000..4cdf652ff2c --- /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 00000000000..c0f3c8c828a --- /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;