1 /* PR tree-optimization/78819 */ 2 /* { dg-do run } */ 3 /* { dg-options "-O2" } */ 4 5 __attribute__((noinline, noclone)) void foo(int argc)6foo (int argc) 7 { 8 if (argc <= 0 || argc > 3) 9 return; 10 11 switch (argc) 12 { 13 case 1: 14 case 3: 15 if (argc != 3) 16 __builtin_abort (); 17 break; 18 case 2: 19 asm (""); 20 break; 21 default: 22 __builtin_abort (); 23 } 24 } 25 26 int main(void)27main (void) 28 { 29 foo (3); 30 return 0; 31 } 32