1/* PR middle-end/34934 */ 2 3#include <stdarg.h> 4 5typedef struct 6{ 7 int e[1024]; 8 int f; 9} S; 10 11void foo (long *, va_list); 12 13void 14bar (long *x, S *y, int z, ...) 15{ 16 int i, j; 17 va_list ap; 18 va_start (ap, z); 19 for (j = y->e[i = 1]; i <= y->f; j = y->e[++i]) 20 { 21 switch (z) 22 { 23 case 1: 24 if (!(*x & 0x00000020)) 25 continue; 26 case 3: 27 if (!(*x & 0x00000080)) 28 continue; 29 case 9: 30 if (!(*x & 0x04000000)) 31 continue; 32 case 4: 33 if (!(*x & 0x00000200)) 34 continue; 35 case 8: 36 if (!(*x & 0x00100000)) 37 continue; 38 case 6: 39 if (!(*x & 0x00000100)) 40 continue; 41 case 7: 42 if (!(*x & 0x00040000)) 43 continue; 44 case 10: 45 if (!(*x & 0x00000020) 46 && ((*x & 0x00008000) || (*x & 0x08000000))) 47 continue; 48 } 49 foo (x, ap); 50 } 51 va_end (ap); 52} 53