+2015-10-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr45.adb: New test.
+
2015-10-31 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/assumed_type_2.f90: Update test.
--- /dev/null
+-- { dg-do run }
+-- { dg-options "-O2 -gnatws" }
+
+procedure Discr45 is
+
+ function Ident_Int (I : Integer) return Integer is
+ begin
+ return I;
+ end;
+
+ procedure Proc (Signal : Boolean) is
+
+ subtype Index is Integer range 1..10;
+
+ type My_Arr is array (Index range <>) OF Integer;
+
+ type Rec (D3 : Integer := Ident_Int(1)) is record
+ case D3 is
+ when -5..10 => C1 : My_Arr(D3..Ident_Int(11));
+ when Others => C2 : Integer := Ident_Int(5);
+ end case;
+ end record;
+
+ X : Rec;
+
+ function Value return Rec;
+ pragma No_Inline (Value);
+
+ function Value return Rec is
+ begin
+ return X;
+ end;
+
+ begin
+ if X /= Value then
+ raise Constraint_Error;
+ elsif Signal then
+ raise Program_Error;
+ end if;
+ end;
+
+begin
+ Proc (True);
+end;