1with Unchecked_Conversion; 2 3package Atomic5 is 4 5 type Byte is mod 2 ** 8; 6 for Byte'Size use 8; 7 8 type Unsigned_32 is mod 2 ** 32; 9 for Unsigned_32'Size use 32; 10 11 type R is record 12 A,B,C,D : Byte; 13 end record; 14 for R'Alignment use 4; 15 pragma Atomic (R); 16 17 function Conv is new Unchecked_Conversion (R, Unsigned_32); 18 19 procedure Proc1; 20 21 procedure Proc2; 22 23end Atomic5; 24