diff options
author | Adam Nemet <anemet@caviumnetworks.com> | 2006-01-13 23:26:47 +0000 |
---|---|---|
committer | Adam Nemet <nemet@gcc.gnu.org> | 2006-01-13 23:26:47 +0000 |
commit | 41e0c1a3ad9655a4a7bef8337f9940528181a2a1 (patch) | |
tree | 01e7279356791dbc65b1b824a2d655e88e05111f /gcc | |
parent | 4df8acd3c82998c4f18ec1fd3ee97b6d81c61135 (diff) | |
download | gcc-41e0c1a3ad9655a4a7bef8337f9940528181a2a1.zip gcc-41e0c1a3ad9655a4a7bef8337f9940528181a2a1.tar.gz gcc-41e0c1a3ad9655a4a7bef8337f9940528181a2a1.tar.bz2 |
20060110-1.c: New test.
* gcc.c-torture/execute/20060110-1.c: New test.
* gcc.c-torture/execute/20060110-2.c: New test.
From-SVN: r109680
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20060110-1.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20060110-2.c | 19 |
3 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f951d73..cca26ea 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-01-13 Adam Nemet <anemet@caviumnetworks.com> + + * gcc.c-torture/execute/20060110-1.c: New test. + * gcc.c-torture/execute/20060110-2.c: New test. + 2006-01-13 Ulrich Weigand <uweigand@de.ibm.com> * gcc.c-torture/compile/pr25310.c: Disable test on 16-bit targets. diff --git a/gcc/testsuite/gcc.c-torture/execute/20060110-1.c b/gcc/testsuite/gcc.c-torture/execute/20060110-1.c new file mode 100644 index 0000000..112528e --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20060110-1.c @@ -0,0 +1,16 @@ +extern void abort (void); + +long long +f (long long a) +{ + return (a << 32) >> 32; +} +long long a = 0x1234567876543210LL; +long long b = (0x1234567876543210LL << 32) >> 32; +int +main () +{ + if (f (a) != b) + abort (); + return 0; +} 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 0000000..bf60f94 --- /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; +} |