diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/frame_overflow.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/frame_overflow.adb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/frame_overflow.adb b/gcc/testsuite/gnat.dg/frame_overflow.adb new file mode 100644 index 000000000..1e7405fa5 --- /dev/null +++ b/gcc/testsuite/gnat.dg/frame_overflow.adb @@ -0,0 +1,25 @@ +-- { dg-do compile } + +package body Frame_Overflow is + + function -- { dg-error "too large" } + Set_In (Bitmap : Bitmap_T; Bitpos : Bitpos_Range_T) return Bitmap_T + is + Result: Bitmap_T := Bitmap; + begin + Result.Bits (Bitpos) := True; + return Result; + end; + + 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); + end loop; + return Result; + end; + +end Frame_Overflow; |