summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/frame_overflow.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/frame_overflow.adb')
-rw-r--r--gcc/testsuite/gnat.dg/frame_overflow.adb25
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;