summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/atomic1_pkg.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/atomic1_pkg.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/atomic1_pkg.ads')
-rw-r--r--gcc/testsuite/gnat.dg/atomic1_pkg.ads47
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/atomic1_pkg.ads b/gcc/testsuite/gnat.dg/atomic1_pkg.ads
new file mode 100644
index 000000000..809c3e3aa
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/atomic1_pkg.ads
@@ -0,0 +1,47 @@
+package Atomic1_Pkg is
+
+ type Four_Bits is mod 2 ** 4;
+
+ type R16 is record
+ F1 : Four_Bits;
+ F2 : Four_Bits;
+ F3 : Four_Bits;
+ F4 : Four_Bits;
+ end record;
+ for R16 use record
+ F1 at 0 range 0 .. 3;
+ F2 at 0 range 4 .. 7;
+ F3 at 0 range 8 .. 11;
+ F4 at 0 range 12 .. 15;
+ end record;
+
+ type R32 is record
+ F1 : Four_Bits;
+ F2 : Four_Bits;
+ F3 : Four_Bits;
+ F4 : Four_Bits;
+ F5 : Four_Bits;
+ F6 : Four_Bits;
+ F7 : Four_Bits;
+ F8 : Four_Bits;
+ end record;
+ for R32 use record
+ F1 at 0 range 0 .. 3;
+ F2 at 0 range 4 .. 7;
+ F3 at 0 range 8 .. 11;
+ F4 at 0 range 12 .. 15;
+ F5 at 0 range 16 .. 19;
+ F6 at 0 range 20 .. 23;
+ F7 at 0 range 24 .. 27;
+ F8 at 0 range 28 .. 31;
+ end record;
+
+ C_16 : constant R16 := (2, 3, 5, 7);
+ C_32 : constant R32 := (1, 1, 2, 3, 5, 8, 13, 5);
+
+ V_16 : R16;
+ pragma Atomic (V_16);
+ V_32 : R32;
+ pragma Atomic (V_32);
+
+end Atomic1_Pkg;