summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/atomic1_pkg.ads
diff options
context:
space:
mode:
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;