aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/specs/atomic2.ads
blob: 17b9f8325e5503695272ef502b7c8f3c5e94ed2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- { dg-do compile }

package Atomic2 is

  type Rec1 is record
    C : Character;
    I : Integer;
    pragma Atomic (I);
  end record;
  for Rec1 use record
    C at 0 range 0 .. 7;
    I at 1 range 0 .. 31; -- { dg-error "position for atomic|alignment" }
  end record;

  type Rec2 is record
    C : Character;
    I : Integer;
    pragma Atomic (I);
  end record;
  pragma Pack (Rec2);

  type My_Int is new Integer;
  for My_Int'Alignment use 1;
  pragma Atomic (My_Int); -- { dg-error "atomic access" }

end Atomic2;