PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 950704-1.c
blobf11aff8cabc88a984aec6bc5dde043e9a66c205f
1 int errflag;
3 long long
4 f (long long x, long long y)
6 long long r;
8 errflag = 0;
9 r = x + y;
10 if (x >= 0)
12 if ((y < 0) || (r >= 0))
13 return r;
15 else
17 if ((y > 0) || (r < 0))
18 return r;
20 errflag = 1;
21 return 0;
24 main ()
26 f (0, 0);
27 if (errflag)
28 abort ();
30 f (1, -1);
31 if (errflag)
32 abort ();
34 f (-1, 1);
35 if (errflag)
36 abort ();
38 f (0x8000000000000000LL, 0x8000000000000000LL);
39 if (!errflag)
40 abort ();
42 f (0x8000000000000000LL, -1LL);
43 if (!errflag)
44 abort ();
46 f (0x7fffffffffffffffLL, 0x7fffffffffffffffLL);
47 if (!errflag)
48 abort ();
50 f (0x7fffffffffffffffLL, 1LL);
51 if (!errflag)
52 abort ();
54 f (0x7fffffffffffffffLL, 0x8000000000000000LL);
55 if (errflag)
56 abort ();
58 exit (0);