diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20060110-2.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20060110-2.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20060110-2.c b/gcc/testsuite/gcc.c-torture/execute/20060110-2.c new file mode 100644 index 000000000..bf60f9436 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20060110-2.c @@ -0,0 +1,19 @@ +extern void abort (void); + +long long +f (long long a, long long b) +{ + return ((a + b) << 32) >> 32; +} + +long long a = 0x1234567876543210LL; +long long b = 0x2345678765432101LL; +long long c = ((0x1234567876543210LL + 0x2345678765432101LL) << 32) >> 32; + +int +main () +{ + if (f (a, b) != c) + abort (); + return 0; +} |