diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-16 10:18:31 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-16 10:18:31 +0200 |
commit | f0092c54c8dbbaeb8b34c99591b39415ad7e1442 (patch) | |
tree | 328ec01b0d3cd611a34a84e13298f3e5ed708536 | |
parent | 439cafcf602f14564f086fec1bf832a0c0866d7f (diff) | |
download | gcc-f0092c54c8dbbaeb8b34c99591b39415ad7e1442.zip gcc-f0092c54c8dbbaeb8b34c99591b39415ad7e1442.tar.gz gcc-f0092c54c8dbbaeb8b34c99591b39415ad7e1442.tar.bz2 |
Add test cases
From-SVN: r127534
-rw-r--r-- | gcc/testsuite/gnat.dg/controlled2.adb | 10 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/itypes.adb | 22 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/itypes.ads | 4 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/modify_a_constant.adb | 19 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/warn2.adb | 14 |
5 files changed, 69 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/controlled2.adb b/gcc/testsuite/gnat.dg/controlled2.adb new file mode 100644 index 0000000..4fa61af --- /dev/null +++ b/gcc/testsuite/gnat.dg/controlled2.adb @@ -0,0 +1,10 @@ +-- { dg-do compile } + +with controlled1; use controlled1; +package body controlled2 is + procedure Test_Suite is + begin + Add_Test + (new Test_Case'(Test_Case1 with Link_Under_Test => 300)); + end Test_Suite; +end controlled2; diff --git a/gcc/testsuite/gnat.dg/itypes.adb b/gcc/testsuite/gnat.dg/itypes.adb new file mode 100644 index 0000000..fc9f10d --- /dev/null +++ b/gcc/testsuite/gnat.dg/itypes.adb @@ -0,0 +1,22 @@ +-- { dg-do compile } + +package body itypes is + Size : constant := 10; + type Arr is array (1 .. size) of Integer; + + type Rec is record + Field1 : Arr := (others => 0); + Field2 : Arr := (others => 0); + Field3 : Arr := (others => 0); + Field4 : Arr := (others => 0); + Field5 : Arr := (others => 0); + Field6 : Arr := (others => 0); + Field7 : Arr := (others => 0); + end record; + + procedure Proc is + Temp1 : Rec; + begin + null; + end; +end; diff --git a/gcc/testsuite/gnat.dg/itypes.ads b/gcc/testsuite/gnat.dg/itypes.ads new file mode 100644 index 0000000..f6137e2 --- /dev/null +++ b/gcc/testsuite/gnat.dg/itypes.ads @@ -0,0 +1,4 @@ + +package itypes is + procedure Proc; +end; diff --git a/gcc/testsuite/gnat.dg/modify_a_constant.adb b/gcc/testsuite/gnat.dg/modify_a_constant.adb new file mode 100644 index 0000000..576378b --- /dev/null +++ b/gcc/testsuite/gnat.dg/modify_a_constant.adb @@ -0,0 +1,19 @@ +-- { dg-do compile } + +with text_io; use text_io; +procedure modify_a_constant is + type Outer; + type Inner (Outer_Ref : access Outer) is limited null record; + + type Outer is limited record + Inner_Field : Inner (Outer_Ref => Outer'Access); + Integer_Field : Integer; + end record; + + X : constant Outer := (Inner_Field => <>, Integer_Field => 123); + +begin + Put_Line (Integer'image (X.Integer_Field)); + X.Inner_Field.Outer_Ref.Integer_Field := 0; + Put_Line (Integer'image (X.Integer_Field)); +end Modify_A_Constant; diff --git a/gcc/testsuite/gnat.dg/warn2.adb b/gcc/testsuite/gnat.dg/warn2.adb new file mode 100644 index 0000000..8675a52 --- /dev/null +++ b/gcc/testsuite/gnat.dg/warn2.adb @@ -0,0 +1,14 @@ +-- { dg-do compile } + +with Unchecked_Conversion; +procedure warn2 is + type R1 is record X : Integer; end record; + type R2 is record X, Y : Integer; end record; + pragma Warnings + (Off, "types for unchecked conversion have different sizes"); + function F is new Unchecked_Conversion (R1, R2); + pragma Warnings + (On, "types for unchecked conversion have different sizes"); +begin + null; +end warn2; |