modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20031010-1.c (about)

     1  /* A reminder to process ops in generate_expr_as_of_bb exactly once.  */
     2  
     3  long __attribute__((noinline))
     4  foo (long ct, long cf, _Bool p1, _Bool p2, _Bool p3)
     5  {
     6    long diff;
     7  
     8    diff = ct - cf;
     9  
    10    if (p1)
    11      {
    12        if (p2)
    13  	{
    14  	  if (p3)
    15  	    {
    16  	      long tmp = ct;
    17  	      ct = cf;
    18  	      cf = tmp;
    19  	    }
    20  	  diff = ct - cf;
    21  	}
    22  
    23        return diff;
    24      }
    25  
    26    abort ();
    27  }
    28  
    29  int main ()
    30  {
    31    if (foo(2, 3, 1, 1, 1) == 0)
    32      abort ();
    33    return 0;
    34  }