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");