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