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

     1  /* PR target/89434 */
     2  
     3  #if __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8 && __CHAR_BIT__ == 8
     4  long g = 0;
     5  
     6  static inline unsigned long long
     7  foo (unsigned long long u)
     8  {
     9    unsigned x;
    10    __builtin_mul_overflow (-1, g, &x);
    11    u |= (unsigned) u < (unsigned short) x;
    12    return x - u;
    13  }
    14  
    15  int
    16  main ()
    17  {
    18    unsigned long long x = foo (0x222222222ULL);
    19    if (x != 0xfffffffddddddddeULL)
    20      __builtin_abort ();
    21    return 0;
    22  }
    23  #else
    24  int
    25  main ()
    26  {
    27    return 0;
    28  }
    29  #endif