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