1-- { dg-do compile } 2-- { dg-options "-O2 -fdump-tree-optimized" } 3 4with Ada.Command_Line; use Ada.Command_Line; 5with Opt86_Pkg; use Opt86_Pkg; 6 7procedure Opt86c is 8 9 S1, S2, S3, S4 : Enum; 10 11begin 12 13 S1 := Enum'Value (Argument (1)); 14 S2 := Enum'Value (Argument (2)); 15 S3 := Enum'Value (Argument (3)); 16 S4 := Enum'Value (Argument (4)); 17 18 if S1 in Val16 | Val8 | Val26 | Val2 | Val10 then 19 raise Program_Error; 20 end if; 21 22 if S2 not in Val16 | Val8 | Val26 | Val2 | Val10 then 23 raise Program_Error; 24 end if; 25 26 if S3 = Val3 or S3 = Val25 or S3 = Val13 or S3 = Val29 or S3 = Val11 then 27 raise Program_Error; 28 end if; 29 30 if S4 /= Val3 and S4 /= Val25 and S4 /= Val13 and S4 /= Val29 and s4 /= Val11 then 31 raise Program_Error; 32 end if; 33 34end; 35 36-- { dg-final { scan-tree-dump-not "> 26" "optimized" } } 37-- { dg-final { scan-tree-dump-not "> 29" "optimized" } } 38