diff options
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/array25.adb | 11 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/array25_pkg.adb | 15 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/array25_pkg.ads | 19 |
4 files changed, 50 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bb785c6..c4f66a8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-12-10 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/array25.adb: New test. + * gnat.dg/array25_pkg.ad[sb]: New helper. + 2015-12-10 Claudiu Zissulescu <claziss@synopsys.com> * lib/target-supports.exp (check_effective_target_arc_atomic): New diff --git a/gcc/testsuite/gnat.dg/array25.adb b/gcc/testsuite/gnat.dg/array25.adb new file mode 100644 index 0000000..68dd3cb --- /dev/null +++ b/gcc/testsuite/gnat.dg/array25.adb @@ -0,0 +1,11 @@ +-- { dg-do compile } + +with Array25_Pkg; + +procedure Array25 is + + package My_Pkg is new Array25_Pkg (0, 0); + +begin + null; +end; diff --git a/gcc/testsuite/gnat.dg/array25_pkg.adb b/gcc/testsuite/gnat.dg/array25_pkg.adb new file mode 100644 index 0000000..9bb2fa5 --- /dev/null +++ b/gcc/testsuite/gnat.dg/array25_pkg.adb @@ -0,0 +1,15 @@ +package body Array25_Pkg is + + procedure Get_Inner (A : out Arr1) is + begin + null; + end; + + procedure Get (A : out Arr2) is + begin + for I in Arr2'Range loop + Get_Inner (A (I).Data); + end loop; + end; + +end Array25_Pkg; diff --git a/gcc/testsuite/gnat.dg/array25_pkg.ads b/gcc/testsuite/gnat.dg/array25_pkg.ads new file mode 100644 index 0000000..1965bab --- /dev/null +++ b/gcc/testsuite/gnat.dg/array25_pkg.ads @@ -0,0 +1,19 @@ +generic + + UB1 : Natural; + + UB2 : Natural; + +package Array25_Pkg is + + type Arr1 is array (1 .. UB1) of Integer; + + type Rec is record + Data : Arr1; + end record; + + type Arr2 is array (1 .. UB2) of Rec; + + procedure Get (A : out Arr2); + +end Array25_Pkg; |