-- { dg-do run } | |
procedure Array35 is | |
subtype Str is String (1 .. 3); | |
type T is record | |
B : Boolean; | |
S : Str; | |
end record; | |
for T use record | |
B at 0 range 0 .. 0; | |
S at 0 range 1 .. 24; | |
end record; | |
X : T := (B => True, S => "123"); | |
begin | |
X.B := False; | |
if X.S /= "123" then | |
raise Program_Error; | |
end if; | |
end; |