1-- { dg-do compile }
2-- { dg-options "-O2" }
3
4package body Case_Optimization1 is
5
6   function F (Op_Kind : Internal_Operator_Symbol_Kinds) return Integer is
7   begin
8      case Op_Kind is
9         when A_Not_Operator => return 3;
10         when An_Exponentiate_Operator => return 2;
11         when others => return 1;
12      end case;
13   end;
14
15   function Len (E : Element) return Integer is
16      Op_Kind : Internal_Element_Kinds := Int_Kind (E);
17   begin
18      return F (Int_Kind (E));
19   end;
20
21end Case_Optimization1;
22