aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2007-08-16 15:58:54 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-08-16 15:58:54 +0200
commit49e308f8c34eeaef4f32699067e9712606ceede0 (patch)
tree47a6320b186dd1fc80a4f9d3475668939495aa04 /gcc
parent21d0fa1ef08190fcfe68bd0d00ac3da0ad7afa1b (diff)
downloadgcc-49e308f8c34eeaef4f32699067e9712606ceede0.zip
gcc-49e308f8c34eeaef4f32699067e9712606ceede0.tar.gz
gcc-49e308f8c34eeaef4f32699067e9712606ceede0.tar.bz2
Add new tests.
From-SVN: r127556
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gnat.dg/array3.adb37
-rw-r--r--gcc/testsuite/gnat.dg/controlled3.ads12
-rw-r--r--gcc/testsuite/gnat.dg/controlled4.adb9
-rw-r--r--gcc/testsuite/gnat.dg/controlled4.ads5
4 files changed, 63 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/array3.adb b/gcc/testsuite/gnat.dg/array3.adb
new file mode 100644
index 0000000..7976925
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/array3.adb
@@ -0,0 +1,37 @@
+-- { dg-do run }
+
+with Ada.Containers.Vectors;
+with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
+procedure array3 is
+ type Method_Kinds is (Signal, Slot, Method);
+
+ package Unbounded_String_Vectors is
+ new Ada.Containers.Vectors
+ (Positive, Ada.Strings.Unbounded.Unbounded_String);
+
+ Params_Vector : Unbounded_String_Vectors.Vector;
+
+ type Method_Info is record
+ Name : Ada.Strings.Unbounded.Unbounded_String;
+ Signature : Ada.Strings.Unbounded.Unbounded_String;
+ Parameters : Unbounded_String_Vectors.Vector;
+ Kind : Method_Kinds;
+ end record;
+
+ package Method_Info_Vectors is
+ new Ada.Containers.Vectors (Positive, Method_Info);
+
+ Signals : Method_Info_Vectors.Vector;
+begin
+
+ Unbounded_String_Vectors.Append
+ (Params_Vector,
+ Ada.Strings.Unbounded.To_Unbounded_String ("AAA"));
+
+ Method_Info_Vectors.Append
+ (Signals,
+ (Name => To_Unbounded_String (""),
+ Signature => To_Unbounded_String (""),
+ Parameters => Params_Vector,
+ Kind => Signal));
+end;
diff --git a/gcc/testsuite/gnat.dg/controlled3.ads b/gcc/testsuite/gnat.dg/controlled3.ads
new file mode 100644
index 0000000..4dee28a
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/controlled3.ads
@@ -0,0 +1,12 @@
+with Ada.Finalization; use Ada.Finalization;
+package controlled3 is
+ type Test is new Controlled with null record;
+ procedure Add_Test (T : access Test'Class);
+
+ type Test_Case1 is new Test with null record;
+ type Test_Suite is new Test with null record;
+
+ type Test_Case is new Test_Case1 with record
+ Link_Under_Test : Natural;
+ end record;
+end;
diff --git a/gcc/testsuite/gnat.dg/controlled4.adb b/gcc/testsuite/gnat.dg/controlled4.adb
new file mode 100644
index 0000000..b823cc9
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/controlled4.adb
@@ -0,0 +1,9 @@
+-- { dg-do compile }
+
+package body controlled4 is
+ procedure Test_Suite is
+ begin
+ Add_Test
+ (new Test_Case'(Test_Case1 with Link_Under_Test => 300));
+ end Test_Suite;
+end;
diff --git a/gcc/testsuite/gnat.dg/controlled4.ads b/gcc/testsuite/gnat.dg/controlled4.ads
new file mode 100644
index 0000000..5ea458a
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/controlled4.ads
@@ -0,0 +1,5 @@
+
+with controlled3; use controlled3;
+package controlled4 is
+ procedure Test_Suite;
+end;