-- { dg-do compile } -- { dg-options "-w" } package body Vect10 is procedure Add_Mul (X : in out Unit; Y, Z : in Unit) is begin X := X + Y * Z; end; pragma Inline_Always (Add_Mul); procedure Proc (F : in Rec_Vector; First_Index : in Natural; Last_Index : in Natural; Result : out Unit) is begin Result := (others => 0.0); for I in First_Index + 1 .. Last_Index loop declare Local : Rec renames F (I); begin Add_Mul (Result, Local.Val, Local.Val); end; end loop; end; end Vect10;