2 -- { dg-options "-O2 -gnatws" }
7 type T (<>) is private;
9 with function F1 (X : T) return T;
11 R : Boolean := F1 (V) = V1;
14 type AB is array (Boolean range <>) of Boolean;
17 for I1 in Boolean loop
18 for I2 in Boolean loop
22 AB1 : AB (Boolean) := (I1, I2);
23 T : AB (B1 .. B2) := (B1 .. B2 => True);
24 F : AB (B1 .. B2) := (B1 .. B2 => False);
26 package P is new GP (AB, AB1, NOT AB1, "NOT");