aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/atomic3.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/atomic3.adb')
-rw-r--r--gcc/testsuite/gnat.dg/atomic3.adb24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/atomic3.adb b/gcc/testsuite/gnat.dg/atomic3.adb
new file mode 100644
index 00000000000..592a856caef
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/atomic3.adb
@@ -0,0 +1,24 @@
+-- { dg-do compile }
+
+procedure Atomic3 is
+
+ type Unsigned_32_T is mod 2 ** 32;
+ for Unsigned_32_T'Size use 32;
+
+ type Id_T is (One, Two, Three);
+
+ type Array_T is array (Id_T) of Unsigned_32_T;
+ pragma Atomic_Components (Array_T);
+
+ A : Array_T := (others => 0);
+
+ function Get_Array return Array_T is
+ begin
+ return A;
+ end;
+
+ X : Array_T;
+
+begin
+ X := Get_Array;
+end;