25 lines
408 B
Ada
25 lines
408 B
Ada
-- { 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;
|