2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / gnat.dg / aggr1.adb
blob256b3951be088d1058f9d5a8bc814ceca057ed83
1 -- { dg-do run }
3 procedure aggr1 is
4 package Coord is
5 type T is private;
6 private
7 type T is record
8 A, B, C : Float;
9 end record;
10 end Coord;
12 generic
13 type T is private;
14 package gen is
15 type Rec (Discr : Boolean := True) is record
16 needs_update : Boolean;
17 case Discr is
18 when True => null;
19 when False => Value : T;
20 end case;
21 end record;
22 end gen;
24 subtype Graph_Range is integer range 1..1665;
25 type arr is array (Graph_Range) of Coord.T;
27 package Inst is new Gen (arr);
29 subtype Index is integer range 1 .. 1;
31 type Graph_Node (Active : Boolean := False) is
32 record
33 case Active is
34 when True =>
35 Comp1 : Inst.Rec;
36 Comp2 : Inst.Rec;
37 Comp3 : Inst.Rec;
38 when False =>
39 Needs_Update : Boolean;
40 end case;
41 end record;
42 --
43 Null_Graph_Node : constant Graph_Node := (False, True);
44 type Graph_Table_T is array (Index) of Graph_Node;
46 Graph_Table : Graph_Table_T := (others => (Null_Graph_Node));
47 Graph_Table_1 : Graph_Table_T := (others => (False, True));
48 begin
49 null;
50 end;