-- { dg-do compile } | |
-- { dg-options "-flto" { target lto } } | |
procedure Lto2 (Nbytes : Natural) is | |
type Message_T (Length : Natural) is record | |
case Length is | |
when 0 => null; | |
when others => Id : Natural; | |
end case; | |
end record; | |
type Local_Message_T is new Message_T (Nbytes); | |
function One_message return Local_Message_T is | |
M : Local_Message_T; | |
begin | |
if M.Length > 0 then | |
M.Id := 1; | |
end if; | |
return M; | |
end; | |
procedure Process (X : Local_Message_T) is begin null; end; | |
begin | |
Process (One_Message); | |
end; |