New tests.
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 12 Sep 2007 12:15:07 +0000 (14:15 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 12 Sep 2007 12:15:07 +0000 (14:15 +0200)
From-SVN: r128432

gcc/testsuite/gnat.dg/discr_test2.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/regpat1.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/specs/box1.ads [new file with mode: 0644]

diff --git a/gcc/testsuite/gnat.dg/discr_test2.adb b/gcc/testsuite/gnat.dg/discr_test2.adb
new file mode 100644 (file)
index 0000000..89f4678
--- /dev/null
@@ -0,0 +1,18 @@
+--  { dg-do compile }
+
+procedure Discr_Test2 is
+   type Ptr is access all integer;
+   type Ar is array (Integer range <>) of Ptr;
+        
+   type Inner (Discr : Integer) is record
+      Comp : Ar (1..Discr);
+   end record;
+
+   type Wrapper (Discr : Integer) is record
+      Comp :  Inner (Discr);
+   end record;
+
+   Val  : constant Wrapper := (0, Comp => <>);
+begin
+   null;
+end;
diff --git a/gcc/testsuite/gnat.dg/regpat1.adb b/gcc/testsuite/gnat.dg/regpat1.adb
new file mode 100644 (file)
index 0000000..fdd2589
--- /dev/null
@@ -0,0 +1,13 @@
+--  { dg-do run }
+
+with GNAT.Regpat; use GNAT.Regpat;
+procedure regpat1 is
+begin
+   declare
+      Re : Pattern_Matcher := Compile ("a[]b");
+   begin
+      raise Program_Error;
+   end;
+exception
+   when Expression_Error => null;
+end regpat1;
diff --git a/gcc/testsuite/gnat.dg/specs/box1.ads b/gcc/testsuite/gnat.dg/specs/box1.ads
new file mode 100644 (file)
index 0000000..dad13f3
--- /dev/null
@@ -0,0 +1,13 @@
+--  { dg-do compile }
+
+package box1 is
+  type Root is tagged null record;
+  type Der1 is new Root with record
+     B : Boolean;
+  end record;
+  
+  type Der2 is new Der1 with null record;
+  type Der3 is new Der2 with null record;
+  
+  Obj : Der3 := (Der2 with others => <>);
+end;