2 -- { dg-xfail-if "missing late warning" { *-*-* } { "-flto" } { "" } }
6 procedure frame_overflow is
8 type Bitpos_Range_T is range 1..2**(System.Word_Size-1)-1;
9 type Bitmap_Array_T is array (Bitpos_Range_T) of Boolean;
11 type Bitmap_T is record
12 Bits : Bitmap_Array_T := (others => False);
15 function -- { dg-error "too large" }
16 Set_In (Bitmap : Bitmap_T; Bitpos : Bitpos_Range_T) return Bitmap_T
18 Result: Bitmap_T := Bitmap; -- { dg-error "Storage_Error" }
20 Result.Bits (Bitpos) := True;
24 function Negate (Bitmap : Bitmap_T) return Bitmap_T is
25 Result: Bitmap_T; -- { dg-error "Storage_Error" }
27 for E in Bitpos_Range_T loop
28 Result.Bits (E) := not Bitmap.Bits (E);