--- /dev/null
+-- { 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;
--- /dev/null
+-- { 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;
--- /dev/null
+-- { 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;