summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/specs/oversize.ads
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gnat.dg/specs/oversize.ads
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/gnat.dg/specs/oversize.ads')
-rw-r--r--gcc/testsuite/gnat.dg/specs/oversize.ads56
1 files changed, 56 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/specs/oversize.ads b/gcc/testsuite/gnat.dg/specs/oversize.ads
new file mode 100644
index 000000000..e98c8bd77
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/specs/oversize.ads
@@ -0,0 +1,56 @@
+with Ada.Numerics.Discrete_Random;
+
+package Oversize is
+
+ subtype M1 is Integer range 1 .. 200; -- Won't trigger
+ type R1 (D : M1 := 100) is record
+ Name : String (1 .. D);
+ end record;
+
+ type M2 is new Integer range 1 .. 200; -- Won't trigger
+ for M2'Size use 64;
+ type M2S is array (M2 range <>) of Character;
+ type R2 (D : M2 := 100) is record
+ Name : M2S (1 .. D);
+ end record;
+
+ subtype M3 is Integer; -- Will trigger
+ type R3 (D : M3 := 100) -- { dg-error "may raise Storage_Error" }
+ is record
+ Name : String (1 .. D);
+ end record;
+
+ type M4 is new Positive; -- Will trigger
+ type M4S is array (M4 range <>) of Character;
+ type R4 (D : M4 := 100) -- { dg-error "may raise Storage_Error" }
+ is record
+ Name : M4S (1 .. D);
+ end record;
+
+ type M5 is new Positive; -- Will trigger
+ for M5'Size use Integer'Size - 1;
+ type M5S is array (M5 range <>) of Character;
+ type R5 (D : M5 := 100) -- { dg-error "may raise Storage_Error" }
+ is record
+ Name : M5S (1 .. D);
+ end record;
+
+ subtype M6 is Integer range 1 .. (Integer'Last + 1)/2; -- Won't trigger
+ type R6 (D : M6 := 100) is record
+ Name : String (1 .. D);
+ end record;
+
+ subtype M7 is Integer range 1 .. (Integer'Last + 1)/2+1; -- Will trigger
+ type R7 (D : M7 := 100) -- { dg-error "may raise Storage_Error" }
+ is record
+ Name : String (1 .. D);
+ end record;
+
+ package P8 is new Ada.Numerics.Discrete_Random (Natural);
+ G8 : P8.Generator;
+ subtype M8 is Integer range 1 .. P8.Random (G8); -- Won't trigger
+ type R8 (D : M8 := 100) is record
+ Name : String (1 .. D);
+ end record;
+
+end Oversize;