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

     1  /* PR tree-optimization/47148 */
     2  
     3  static inline unsigned
     4  bar (unsigned x, unsigned y)
     5  {
     6    if (y >= 32)
     7      return x;
     8    else
     9      return x >> y;
    10  }
    11  
    12  static unsigned a = 1, b = 1;
    13  
    14  static inline void
    15  foo (unsigned char x, unsigned y)
    16  {
    17    if (!y)
    18      return;
    19    unsigned c = (0x7000U / (x - 2)) ^ a;
    20    unsigned d = bar (a, a);
    21    b &= ((a - d) && (a - 1)) + c;
    22  }
    23  
    24  int
    25  main (void)
    26  {
    27    foo (1, 1);
    28    foo (-1, 1);
    29    if (b && ((unsigned char) -1) == 255)
    30      __builtin_abort ();
    31    return 0;
    32  }