modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/950704-1.c (about) 1 int errflag; 2 3 long long 4 f (long long x, long long y) 5 { 6 long long r; 7 8 errflag = 0; 9 r = x + y; 10 if (x >= 0) 11 { 12 if ((y < 0) || (r >= 0)) 13 return r; 14 } 15 else 16 { 17 if ((y > 0) || (r < 0)) 18 return r; 19 } 20 errflag = 1; 21 return 0; 22 } 23 24 main () 25 { 26 f (0, 0); 27 if (errflag) 28 abort (); 29 30 f (1, -1); 31 if (errflag) 32 abort (); 33 34 f (-1, 1); 35 if (errflag) 36 abort (); 37 38 f (0x8000000000000000LL, 0x8000000000000000LL); 39 if (!errflag) 40 abort (); 41 42 f (0x8000000000000000LL, -1LL); 43 if (!errflag) 44 abort (); 45 46 f (0x7fffffffffffffffLL, 0x7fffffffffffffffLL); 47 if (!errflag) 48 abort (); 49 50 f (0x7fffffffffffffffLL, 1LL); 51 if (!errflag) 52 abort (); 53 54 f (0x7fffffffffffffffLL, 0x8000000000000000LL); 55 if (errflag) 56 abort (); 57 58 exit (0); 59 }