diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-31 12:25:23 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-31 12:25:23 +0200 |
commit | 7cb99df40996a599a08570d554eb8aa6a9af8c24 (patch) | |
tree | e8b9d59287fd1a0348da6d9bb6583884ae9c98ce /gcc | |
parent | a2c20cfae5640dec2def45e2f0fa896b7d9b210c (diff) | |
download | gcc-7cb99df40996a599a08570d554eb8aa6a9af8c24.zip gcc-7cb99df40996a599a08570d554eb8aa6a9af8c24.tar.gz gcc-7cb99df40996a599a08570d554eb8aa6a9af8c24.tar.bz2 |
Add new tests.
From-SVN: r127985
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gnat.dg/addr3.adb | 36 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/aggr8.adb | 22 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/no_exc_prop.adb | 15 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/no_exc_prop.ads | 9 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/tag1.adb | 20 |
5 files changed, 102 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/addr3.adb b/gcc/testsuite/gnat.dg/addr3.adb new file mode 100644 index 0000000..837035a --- /dev/null +++ b/gcc/testsuite/gnat.dg/addr3.adb @@ -0,0 +1,36 @@ +-- { dg-do compile } + +with text_io; +with System; +procedure addr3 is + + Type T_SAME_TYPE is new System.Address; + + Type T_OTHER_TYPE is new System.Address; + + I : constant integer := 0; + procedure dum ( i : INTEGER ) is + begin + text_io.put_line ("Integer op"); + null; + end; + + procedure dum ( i : system.ADDRESS ) is + begin + null; + end; + + procedure dum ( i : T_SAME_TYPE ) is + begin + null; + end; + + procedure dum ( i : T_OTHER_TYPE ) is + begin + null; + end; + +begin + dum( I ); + dum( 1 ); +end; diff --git a/gcc/testsuite/gnat.dg/aggr8.adb b/gcc/testsuite/gnat.dg/aggr8.adb new file mode 100644 index 0000000..457150e --- /dev/null +++ b/gcc/testsuite/gnat.dg/aggr8.adb @@ -0,0 +1,22 @@ +-- { dg-do compile } + +procedure aggr8 is + + type Byte is mod 2 ** 8; + subtype two is integer range 1..2; + -- type Sequence is array (1 .. 2) of Byte; + type Sequence is array (Two) of Byte; + + type Block is record + Head : Sequence := (11, 22); + end record; + + procedure Nest is + Blk : Block; pragma Unreferenced (Blk); + begin + null; + end; + +begin + null; +end; diff --git a/gcc/testsuite/gnat.dg/no_exc_prop.adb b/gcc/testsuite/gnat.dg/no_exc_prop.adb new file mode 100644 index 0000000..68e2b1d --- /dev/null +++ b/gcc/testsuite/gnat.dg/no_exc_prop.adb @@ -0,0 +1,15 @@ +-- { dg-do compile } +-- { dg-options "-gnatwa" } + +package body no_exc_prop is + protected body Simple_Barrier is + entry Wait when Signaled is + begin + Signaled := False; + end Wait; + procedure Signal is + begin + Signaled := True; + end Signal; + end Simple_Barrier; +end no_exc_prop; diff --git a/gcc/testsuite/gnat.dg/no_exc_prop.ads b/gcc/testsuite/gnat.dg/no_exc_prop.ads new file mode 100644 index 0000000..ef3caa3 --- /dev/null +++ b/gcc/testsuite/gnat.dg/no_exc_prop.ads @@ -0,0 +1,9 @@ +pragma Restrictions (No_Exception_Propagation); +package no_exc_prop is + protected Simple_Barrier is + entry Wait; + procedure Signal; + private + Signaled : Boolean := False; + end Simple_Barrier; +end no_exc_prop; diff --git a/gcc/testsuite/gnat.dg/tag1.adb b/gcc/testsuite/gnat.dg/tag1.adb new file mode 100644 index 0000000..f973cb2 --- /dev/null +++ b/gcc/testsuite/gnat.dg/tag1.adb @@ -0,0 +1,20 @@ +-- { dg-do run } + +with Ada.Tags; +procedure tag1 is + type T is tagged null record; + X : Ada.Tags.Tag; +begin + begin + X := Ada.Tags.Descendant_Tag ("Internal tag at 16#0#", T'Tag); + raise Program_Error; + exception + when Ada.Tags.Tag_Error => null; + end; + begin + X := Ada.Tags.Descendant_Tag ("Internal tag at 16#XXXX#", T'Tag); + raise Program_Error; + exception + when Ada.Tags.Tag_Error => null; + end; +end; |