aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2007-08-31 12:25:23 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-08-31 12:25:23 +0200
commit7cb99df40996a599a08570d554eb8aa6a9af8c24 (patch)
treee8b9d59287fd1a0348da6d9bb6583884ae9c98ce /gcc
parenta2c20cfae5640dec2def45e2f0fa896b7d9b210c (diff)
downloadgcc-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.adb36
-rw-r--r--gcc/testsuite/gnat.dg/aggr8.adb22
-rw-r--r--gcc/testsuite/gnat.dg/no_exc_prop.adb15
-rw-r--r--gcc/testsuite/gnat.dg/no_exc_prop.ads9
-rw-r--r--gcc/testsuite/gnat.dg/tag1.adb20
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;