1-- { dg-do compile }
2-- { dg-options "-gnatws" }
3
4procedure Aggr17 is
5
6   type Enum is (A, B);
7
8   type Rec (D : Enum := Enum'First) is record
9      case D is
10         when A => X : Integer;
11         when B => null;
12      end case;
13   end record;
14   for Rec'Size use 128;
15   pragma Volatile (Rec);
16
17   type Config_T (D : Enum := Enum'First) is record
18      N : Natural;
19      R : Rec (D);
20   end record;
21
22   C : constant Config_T := (D => A, N => 1, R => (D => A, X => 0));
23
24   type Arr is array (Natural range 1 .. C.N) of Boolean;
25
26begin
27   null;
28end;
29