diff options
Diffstat (limited to 'gcc-4.6/gcc/testsuite/gnat.dg/frame_overflow.adb')
-rw-r--r-- | gcc-4.6/gcc/testsuite/gnat.dg/frame_overflow.adb | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/gcc-4.6/gcc/testsuite/gnat.dg/frame_overflow.adb b/gcc-4.6/gcc/testsuite/gnat.dg/frame_overflow.adb index e1ff4d365..1e7405fa5 100644 --- a/gcc-4.6/gcc/testsuite/gnat.dg/frame_overflow.adb +++ b/gcc-4.6/gcc/testsuite/gnat.dg/frame_overflow.adb @@ -1,27 +1,20 @@ -- { dg-do compile } -with System; +package body Frame_Overflow is -procedure frame_overflow is - - type Bitpos_Range_T is range 1..2**(System.Word_Size-1)-1; - type Bitmap_Array_T is array (Bitpos_Range_T) of Boolean; - - type Bitmap_T is record - Bits : Bitmap_Array_T := (others => False); - end record; - - function + function -- { dg-error "too large" } Set_In (Bitmap : Bitmap_T; Bitpos : Bitpos_Range_T) return Bitmap_T is - Result: Bitmap_T := Bitmap; -- { dg-error "Storage_Error" } + Result: Bitmap_T := Bitmap; begin Result.Bits (Bitpos) := True; return Result; end; - function Negate (Bitmap : Bitmap_T) return Bitmap_T is - Result: Bitmap_T; -- { dg-error "Storage_Error" } + function -- { dg-error "too large" } + Negate (Bitmap : Bitmap_T) return Bitmap_T + is + Result: Bitmap_T; begin for E in Bitpos_Range_T loop Result.Bits (E) := not Bitmap.Bits (E); @@ -29,6 +22,4 @@ procedure frame_overflow is return Result; end; -begin - null; -end; +end Frame_Overflow; |