1  /* PR c++/83553 */
       2  /* { dg-do run } */
       3  
       4  int a[3];
       5  
       6  int
       7  foo (int n)
       8  {
       9    switch (n)
      10      {
      11      case 0:
      12        for (n = 7, a[0]++; 0; a[2] = a[1] + 1)
      13  	{
      14      case 2:
      15  	  a[1] = a[0] + 1;
      16  	}
      17      }
      18    return n;
      19  }
      20  
      21  int
      22  main ()
      23  {
      24    if (foo (0) != 7 || a[0] != 1 || a[1] || a[2])
      25      __builtin_abort ();
      26    if (foo (2) != 2 || a[0] != 1 || a[1] != 2 || a[2] != 3)
      27      __builtin_abort ();
      28    return 0;
      29  }