1 /* { dg-skip-if "requires alloca" { ! alloca } { "-O0" } { "" } } */ 2 static void foo()3foo () 4 { 5 long maplength; 6 int type; 7 { 8 const long nibbles = 8; 9 char buf1[nibbles + 1]; 10 char buf2[nibbles + 1]; 11 char buf3[nibbles + 1]; 12 buf1[nibbles] = '\0'; 13 buf2[nibbles] = '\0'; 14 buf3[nibbles] = '\0'; 15 ((nibbles) <= 16 16 ? (({ 17 void *__s = (buf1); 18 union 19 { 20 unsigned int __ui; 21 unsigned short int __usi; 22 unsigned char __uc; 23 } 24 *__u = __s; 25 unsigned char __c = (unsigned char)('0'); 26 switch ((unsigned int) (nibbles)) 27 { 28 case 16: 29 __u->__ui = __c * 0x01010101; 30 __u = __extension__ ((void *) __u + 4); 31 case 12: 32 __u->__ui = __c * 0x01010101; 33 __u = __extension__ ((void *) __u + 4); 34 case 0: 35 break; 36 } 37 __s; 38 })) 39 : 0); 40 ((nibbles) <= 16 41 ? (({ 42 void *__s = (buf2); 43 union 44 { 45 unsigned int __ui; 46 unsigned short int __usi; 47 unsigned char __uc; 48 } 49 *__u = __s; 50 unsigned char __c = (unsigned char)('0'); 51 switch ((unsigned int) (nibbles)) 52 { 53 case 16: 54 __u->__ui = __c * 0x01010101; 55 __u = __extension__ ((void *) __u + 4); 56 case 12: 57 __u->__ui = __c * 0x01010101; 58 __u = __extension__ ((void *) __u + 4); 59 case 8: 60 __u->__ui = __c * 0x01010101; 61 __u = __extension__ ((void *) __u + 4); 62 case 4: 63 __u->__ui = __c * 0x01010101; 64 case 0: 65 break; 66 } 67 __s; 68 })) 69 : 0); 70 } 71 } 72