1 /* { dg-skip-if "requires alloca" { ! alloca } { "-O0" } { "" } } */
2 static void
foo()3 foo ()
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