Projet_SETI_RISC-V/riscv-gnu-toolchain/gcc/gcc/testsuite/gnat.dg/opt88.adb

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;