-- { 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;