1/* This testcase failed on IA-32 at -O and above, because combine attached 2 a REG_LABEL note to jump instruction already using JUMP_LABEL. */ 3 4extern void abort (void); 5extern void exit (int); 6 7enum X { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q }; 8 9void 10bar (const char *x, int y, const char *z) 11{ 12} 13 14long 15foo (enum X x, const void *y) 16{ 17 long a; 18 19 switch (x) 20 { 21 case K: 22 a = *(long *)y; 23 break; 24 case L: 25 a = *(long *)y; 26 break; 27 case M: 28 a = *(long *)y; 29 break; 30 case N: 31 a = *(long *)y; 32 break; 33 case O: 34 a = *(long *)y; 35 break; 36 default: 37 bar ("foo", 1, "bar"); 38 } 39 return a; 40} 41 42int 43main () 44{ 45 long i = 24; 46 if (foo (N, &i) != 24) 47 abort (); 48 exit (0); 49} 50