1 // PR tree-optimization/91351
2 // { dg-do run }
3 // { dg-options "-O2 -fstrict-enums" }
4 
5 enum E { e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12,
6 	 e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25 };
7 
8 __attribute__((noipa)) void
foo()9 foo ()
10 {
11   __builtin_abort ();
12 }
13 
14 __attribute__((noipa)) void
bar()15 bar ()
16 {
17 }
18 
19 __attribute__((noipa)) void
baz(E e)20 baz (E e)
21 {
22   switch (e)
23     {
24     case e11:
25     case e12:
26     case e13: foo (); break;
27     case e24: break;
28     case e14:
29     case e15: break;
30     default: bar (); break;
31     }
32 }
33 
34 int
main()35 main ()
36 {
37   baz (e3);
38 }
39