(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr78482.c
       1  /* PR tree-optimization/78482 */
       2  /* { dg-do run } */
       3  
       4  short a = 65531;
       5  int b = 3, f;
       6  signed char c, d;
       7  static void fn1(int p1)
       8  {
       9    short e;
      10    b = f;
      11    if (f > p1 && p1)
      12      L:
      13  	for (e = 0; 0;)
      14  	  ;
      15    else if (d) b = 0 >= b;
      16    for (; e <= 3; e++)
      17      {
      18        if (b)
      19  	continue;
      20        b = 3;
      21        goto L;
      22      }
      23  }
      24  
      25  __attribute__((noinline, noclone))
      26  int bar (const char *x, int y)
      27  {
      28    asm volatile ("" : "+g" (x), "+g" (y) : : "memory");
      29    if (y == 2)
      30      __builtin_abort ();
      31    return 0;
      32  }
      33  
      34  int main()
      35  {
      36    for (; c >= 0; c--)
      37      {
      38        if (!b)
      39  	{
      40  	  bar("%d\n", 2);
      41  	  continue;
      42  	}
      43        fn1(a);
      44      }
      45    return 0;
      46  }