summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/specs/static_initializer3.ads
blob: 2dc8be1e5beb954b54d2a5ff31a0ecb130391e9f (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
27
28
29
-- { dg-do compile }

with Unchecked_Conversion;

package Static_Initializer3 is

  type Byte is range 0 .. 16#FF#;
  for Byte'Size use 8;

  type Word is range 0 .. 16#FFFF# ;
  for Word'Size use 16;

  type R is record
    b1 : Boolean;
    b2 : Boolean;
  end record;
  for R use record
    b1 at 0 range 0..3;
    b2 at 0 range 4..7;
  end record;
  for R'Size use 8;

  function Conv is new Unchecked_Conversion (R, Byte);

  C1 : constant Byte := Conv ((true, false));

  C2 : constant Word := Word(C1);

end Static_Initializer3;