diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-10-24 16:43:32 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-10-24 16:43:32 +0000 |
commit | d68b5255b5b313cf2f63584f1a46e23530592cf6 (patch) | |
tree | a9b82c0074f9520554b71249f6d2f1ad28f5a55f /gcc/testsuite/gnat.dg | |
parent | 30ab0a1063bf6d5b1125cf73add64ee69a41d00c (diff) | |
download | gcc-d68b5255b5b313cf2f63584f1a46e23530592cf6.tar.gz |
2009-10-24 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 153531
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@153533 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r-- | gcc/testsuite/gnat.dg/null_pointer_deref1.adb | 21 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/null_pointer_deref2.adb | 28 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/opt4.adb | 22 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/pack4.ads | 12 |
4 files changed, 83 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/null_pointer_deref1.adb b/gcc/testsuite/gnat.dg/null_pointer_deref1.adb new file mode 100644 index 00000000000..817155dc1c9 --- /dev/null +++ b/gcc/testsuite/gnat.dg/null_pointer_deref1.adb @@ -0,0 +1,21 @@ +-- { dg-do run } +-- { dg-options "-gnatp" } + +-- This test requires architecture- and OS-specific support code for unwinding +-- through signal frames (typically located in *-unwind.h) to pass. Feel free +-- to disable it if this code hasn't been implemented yet. + +procedure Null_Pointer_Deref1 is + type Int_Ptr is access all Integer; + + function Ident return Int_Ptr is + begin + return null; + end; + + Data : Int_Ptr := Ident; +begin + Data.all := 1; +exception + when Storage_Error => null; +end; diff --git a/gcc/testsuite/gnat.dg/null_pointer_deref2.adb b/gcc/testsuite/gnat.dg/null_pointer_deref2.adb new file mode 100644 index 00000000000..b1dd548f01b --- /dev/null +++ b/gcc/testsuite/gnat.dg/null_pointer_deref2.adb @@ -0,0 +1,28 @@ +-- { dg-do run } +-- { dg-options "-gnatp" } + +-- This test requires architecture- and OS-specific support code for unwinding +-- through signal frames (typically located in *-unwind.h) to pass. Feel free +-- to disable it if this code hasn't been implemented yet. + +procedure Null_Pointer_Deref2 is + + task T; + + task body T is + type Int_Ptr is access all Integer; + + function Ident return Int_Ptr is + begin + return null; + end; + Data : Int_Ptr := Ident; + begin + Data.all := 1; + exception + when Storage_Error => null; + end T; + +begin + null; +end; diff --git a/gcc/testsuite/gnat.dg/opt4.adb b/gcc/testsuite/gnat.dg/opt4.adb new file mode 100644 index 00000000000..caa5ab3a6cb --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt4.adb @@ -0,0 +1,22 @@ +-- { dg-do run } +-- { dg-options "-O2" } + +procedure Opt4 is + + type Rec (D : Natural) is record + S : String (1..D); + end record; + + procedure Test (R : Rec) is + begin + if R.D /= 9 then + raise Program_Error; + end if; + end; + + R : Rec(9); + +begin + R := (9, "123456789"); + Test (R); +end; diff --git a/gcc/testsuite/gnat.dg/specs/pack4.ads b/gcc/testsuite/gnat.dg/specs/pack4.ads new file mode 100644 index 00000000000..82b76d2f457 --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/pack4.ads @@ -0,0 +1,12 @@ +package Pack4 is + + type Buffer is array (Natural range <>) of Boolean; + + type Root (Size : Natural) is tagged record + Data : Buffer (1..Size); + end record; + pragma Pack (Root); + + type Derived is new Root with null record; + +end Pack4; |