From 58dc03b4c5b6050a0d2d1e9598cd0ddf52877b87 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Wed, 12 Sep 2007 14:15:07 +0200 Subject: [PATCH] New tests. From-SVN: r128432 --- gcc/testsuite/gnat.dg/discr_test2.adb | 18 ++++++++++++++++++ gcc/testsuite/gnat.dg/regpat1.adb | 13 +++++++++++++ gcc/testsuite/gnat.dg/specs/box1.ads | 13 +++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 gcc/testsuite/gnat.dg/discr_test2.adb create mode 100644 gcc/testsuite/gnat.dg/regpat1.adb create mode 100644 gcc/testsuite/gnat.dg/specs/box1.ads diff --git a/gcc/testsuite/gnat.dg/discr_test2.adb b/gcc/testsuite/gnat.dg/discr_test2.adb new file mode 100644 index 00000000000..89f46782a25 --- /dev/null +++ b/gcc/testsuite/gnat.dg/discr_test2.adb @@ -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 index 00000000000..fdd258942a3 --- /dev/null +++ b/gcc/testsuite/gnat.dg/regpat1.adb @@ -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 index 00000000000..dad13f33215 --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/box1.ads @@ -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;