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