diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr21.adb | 14 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr21_pkg.adb | 8 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr21_pkg.ads | 11 |
4 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 82d0e7a..290af4e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-11-12 Tristan Gingold <gingold@adacore.com> + + * gnat.dg/aggr21.adb: New test. + * gnat.dg/aggr21_pkg.ad[sb]: New helper. + 2013-11-12 Jeff Law <law@redhat.com> * gcc.dg/tree-ssa/isolate-1.c: Update expected output. diff --git a/gcc/testsuite/gnat.dg/aggr21.adb b/gcc/testsuite/gnat.dg/aggr21.adb new file mode 100644 index 0000000..3dd3327 --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr21.adb @@ -0,0 +1,14 @@ +-- { dg-do run } + +with Aggr21_Pkg; use Aggr21_Pkg; + +procedure Aggr21 is + V : Rec; +begin + V.A := 12; + V.S (1 .. 10) := "Hello init"; + V.N := 123; + Init (V); + -- Probably not reliable, but the compiler is supposed not to modify V.S + pragma Assert (V.s (1 .. 5) = "Hello"); +end; diff --git a/gcc/testsuite/gnat.dg/aggr21_pkg.adb b/gcc/testsuite/gnat.dg/aggr21_pkg.adb new file mode 100644 index 0000000..5cdd089 --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr21_pkg.adb @@ -0,0 +1,8 @@ +package body Aggr21_Pkg is + + procedure Init (R : out Rec) is + begin + R := (A => 5, S => <>, N => 7); + end; + +end Aggr21_Pkg; diff --git a/gcc/testsuite/gnat.dg/aggr21_pkg.ads b/gcc/testsuite/gnat.dg/aggr21_pkg.ads new file mode 100644 index 0000000..3a14963 --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr21_pkg.ads @@ -0,0 +1,11 @@ +package Aggr21_Pkg is + + type Rec is record + A : Integer; + S : String (1 .. 120); + N : Natural; + end record; + + procedure Init (R : out Rec); + +end Aggr21_Pkg; |