53 lines
716 B
Ada
53 lines
716 B
Ada
-- { dg-do run }
|
|
-- { dg-options "-O -ftree-vrp -fno-inline" }
|
|
|
|
procedure Opt88 is
|
|
|
|
Val : Integer := 1;
|
|
|
|
procedure Dummy (B : out Boolean) is
|
|
begin
|
|
B := True;
|
|
end;
|
|
|
|
function Test return Boolean is
|
|
begin
|
|
return False;
|
|
end;
|
|
|
|
procedure Do_It (OK : out Boolean) is
|
|
|
|
Blue : Boolean := False;
|
|
Red : Boolean := False;
|
|
|
|
begin
|
|
OK := True;
|
|
Blue := True;
|
|
Dummy (Red);
|
|
|
|
if Red then
|
|
Red := False;
|
|
|
|
if Test then
|
|
Dummy (Red);
|
|
end if;
|
|
end if;
|
|
|
|
if Blue and not Red then
|
|
Val := 0;
|
|
end if;
|
|
|
|
if Red then
|
|
OK := False;
|
|
end if;
|
|
end;
|
|
|
|
OK : Boolean;
|
|
|
|
begin
|
|
Do_It (OK);
|
|
if not OK then
|
|
raise Program_Error;
|
|
end if;
|
|
end;
|