modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr53495.c (about)

     1  /* PR rtl-optimization/53495 */
     2  
     3  int a, b, c, d, e, g;
     4  static char
     5  fn1 (char p1, int p2)
     6  {
     7    return p1 || p2 < 0 || p2 >= 1 || 1 >> p2 ? p1 : 0;
     8  }
     9  
    10  static long long fn2 (int *, int);
    11  static int fn3 ();
    12  void
    13  fn4 ()
    14  {
    15    fn3 ();
    16    fn2 (&a, d);
    17  }
    18  
    19  long long
    20  fn2 (int *p1, int p2)
    21  {
    22    int f = -1L;
    23    for (; c <= 1; c++)
    24      {
    25        *p1 = 0;
    26        *p1 = fn1 (c, p2 ^ f);
    27      }
    28    a = 0;
    29    e = p2;
    30    return 0;
    31  }
    32  
    33  int
    34  fn3 ()
    35  {
    36    b = 3;
    37    for (; b; b--)
    38      c++;
    39    g = 0 >= c;
    40    return 0;
    41  }