38 lines
825 B
Ada
38 lines
825 B
Ada
-- { dg-do compile }
|
|
-- { dg-options "-O2 -fdump-tree-optimized" }
|
|
|
|
with Ada.Command_Line; use Ada.Command_Line;
|
|
with Opt86_Pkg; use Opt86_Pkg;
|
|
|
|
procedure Opt86B is
|
|
|
|
S1, S2, S3, S4 : Enum;
|
|
|
|
begin
|
|
|
|
S1 := Enum'Value (Argument (1));
|
|
S2 := Enum'Value (Argument (2));
|
|
S3 := Enum'Value (Argument (3));
|
|
S4 := Enum'Value (Argument (4));
|
|
|
|
if S1 in Val2 | Val3 | Val9 | Val29 then
|
|
raise Program_Error;
|
|
end if;
|
|
|
|
if S2 not in Val2 | Val3 | Val9 | Val29 then
|
|
raise Program_Error;
|
|
end if;
|
|
|
|
if S3 = Val1 or S3 = Val4 or S3 = Val8 or S3 = Val13 then
|
|
raise Program_Error;
|
|
end if;
|
|
|
|
if S4 /= Val1 and S4 /= Val4 and S4 /= Val8 and S4 /= Val13 then
|
|
raise Program_Error;
|
|
end if;
|
|
|
|
end;
|
|
|
|
-- { dg-final { scan-tree-dump-not "> 29" "optimized" } }
|
|
-- { dg-final { scan-tree-dump-not "> 13" "optimized" } }
|