| -- { 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; |