-- { dg-do run } | |
-- { dg-options "-gnat12 -gnatVa" } | |
procedure In_Out_Parameter4 is | |
type Enum is (E_Undetermined, E_Down, E_Up); | |
subtype Status_T is Enum range E_Down .. E_Up; | |
function Recurse (Val : in out Integer) return Status_T is | |
Result : Status_T; | |
procedure Dummy (I : in out Integer) is begin null; end; | |
begin | |
if Val > 500 then | |
Val := Val - 1; | |
Result := Recurse (Val); | |
return Result; | |
else | |
return E_UP; | |
end if; | |
end; | |
Val : Integer := 501; | |
S : Status_T; | |
begin | |
S := Recurse (Val); | |
end; |