(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr95857.c
       1  /* PR tree-optimization/95857 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2" } */
       4  /* { dg-require-effective-target label_values } */
       5  
       6  struct E { int e; };
       7  int bar (void), baz (void);
       8  void qux (void *);
       9  
      10  void
      11  foo (int x)
      12  {
      13    struct E a = { 0 };
      14    struct E i = { 0 };
      15    qux (&&lab2);
      16    if (baz ())
      17      i.e = 1;
      18    else
      19      a.e = -2;
      20    switch (a.e)
      21      {
      22      case -2:
      23      lab1:
      24        switch (i.e)
      25  	{
      26  	case -3:
      27  	case 2:
      28  	  if (i.e-- != 2)
      29  	    __builtin_unreachable ();
      30  	lab2:
      31  	  baz ();
      32  	  goto lab1;
      33  	case 0:
      34  	  bar ();
      35  	}
      36        break;
      37      }
      38  }