Preserving locations for variable-uses and constants (PR c++/43486)
[official-gcc.git] / gcc / testsuite / gnat.dg / vfa1_pkg.ads
blob444ee17a1f286394ad4fc3256db56b92559a1352
1 package VFA1_Pkg is
3 type Int8_t is mod 2**8;
5 type Int is new Integer;
6 pragma Volatile_Full_Access (Int);
8 Counter1 : Int;
10 Counter2 : Integer;
11 pragma Volatile_Full_Access (Counter2);
13 type Arr is array (1 .. 4) of Int8_t;
14 for Arr'Alignment use 4;
15 pragma Volatile_Full_Access (Arr);
17 Timer1 : Arr;
19 Timer2 : array (1 .. 4) of Int8_t;
20 for Timer2'Alignment use 4;
21 pragma Volatile_Full_Access (Timer2);
23 type Rec is record
24 A : Short_Integer;
25 B : Short_Integer;
26 end record;
28 type Rec_VFA is new Rec;
29 pragma Volatile_Full_Access (Rec_VFA);
31 Buffer1 : Rec_VFA;
33 Buffer2 : Rec;
34 pragma Volatile_Full_Access (Buffer2);
36 type Code is record
37 R : Int8_t;
38 I : Int8_t;
39 end record;
40 pragma Volatile_Full_Access (Code);
42 type CArr is array (1 .. 2) of Code;
43 pragma Volatile_Full_Access (CArr);
45 Mixer1 : Carr;
47 Mixer2 : array (1 .. 2) of Code;
48 pragma Volatile_Full_Access (Mixer2);
50 end VFA1_Pkg;