diff options
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr20.adb | 10 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr20.ads | 24 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr20_pkg.ads | 9 |
4 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 79bdd959132..740d26bdf35 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + * gnat.dg/aggr20.ad[sb]: New test. + * gnat.dg/aggr20_pkg.ads: New helper. + +2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + * gnat.dg/derived_type3.adb: New test. * gnat.dg/derived_type3_pkg.ad[sb]: New helper. diff --git a/gcc/testsuite/gnat.dg/aggr20.adb b/gcc/testsuite/gnat.dg/aggr20.adb new file mode 100644 index 00000000000..85111e25b4e --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr20.adb @@ -0,0 +1,10 @@ +-- { dg-do compile } + +package body Aggr20 is + + procedure Proc (R : out Rec3) is + begin + R := (Callback => Nil_Rec2); + end; + +end Aggr20; diff --git a/gcc/testsuite/gnat.dg/aggr20.ads b/gcc/testsuite/gnat.dg/aggr20.ads new file mode 100644 index 00000000000..6405cae9dfb --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr20.ads @@ -0,0 +1,24 @@ +with Aggr20_Pkg; use Aggr20_Pkg; +with System; + +package Aggr20 is + + type Rec1 is record + Address : System.Address; + end record; + + Nil_Rec1 : constant Rec1 := (Address => Default_Nil_Address); + + type Rec2 is record + Callback : Rec1; + end record; + + Nil_Rec2 : constant Rec2 := (Callback => Nil_Rec1); + + type Rec3 is record + Callback : Rec2; + end record; + + procedure Proc (R : out Rec3); + +end Aggr20; diff --git a/gcc/testsuite/gnat.dg/aggr20_pkg.ads b/gcc/testsuite/gnat.dg/aggr20_pkg.ads new file mode 100644 index 00000000000..66f5bd58045 --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr20_pkg.ads @@ -0,0 +1,9 @@ +with System; + +package Aggr20_Pkg is + + procedure Proc; + + Default_Nil_Address : constant System.Address := Proc'Address; + +end Aggr20_Pkg; |