summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/unchecked_convert4.adb
blob: 8f3a1aa4efee4fc259798739b4ecf013aaf26d7b (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
-- { dg-do compile }

with Unchecked_Conversion;

procedure Unchecked_Convert4 is

  type Uint32 is mod 2**32;

  type Rec is record
    I : Uint32;
  end record;
  for Rec'Size use 32;
  pragma Atomic (Rec);

  function Conv is new Unchecked_Conversion (Uint32, Rec);

  function F return Uint32;
  pragma Import (Ada, F);

  procedure Proc (R : Rec) is begin null; end;

begin
  Proc (Conv (F or 1));
end;