3 procedure frame_overflow
is
5 type Bitpos_Range_T
is new Positive;
6 type Bitmap_Array_T
is array (Bitpos_Range_T
) of Boolean;
8 type Bitmap_T
is record
9 Bits
: Bitmap_Array_T
:= (others => False);
12 function -- { dg-error "too large" "" }
13 Set_In
(Bitmap
: Bitmap_T
; Bitpos
: Bitpos_Range_T
) return Bitmap_T
15 Result
: Bitmap_T
:= Bitmap
;
17 Result
.Bits
(Bitpos
) := True;
21 function -- { dg-error "too large" "" }
22 Negate
(Bitmap
: Bitmap_T
) return Bitmap_T
is
25 for E
in Bitpos_Range_T
loop
26 Result
.Bits
(E
) := not Bitmap
.Bits
(E
);