aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-02-20 20:46:29 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-02-20 20:46:29 +0100
commitf67e0d112d28a3caf2ea99b67078e6cb8a851fe8 (patch)
treed33bf8bc4287cda80908fa6b50df2191c9651923 /gcc
parentf322b423194007ef5a08daa69a8301739b63fa88 (diff)
downloadgcc-f67e0d112d28a3caf2ea99b67078e6cb8a851fe8.zip
gcc-f67e0d112d28a3caf2ea99b67078e6cb8a851fe8.tar.gz
gcc-f67e0d112d28a3caf2ea99b67078e6cb8a851fe8.tar.bz2
* gcc.c-torture/execute/20020219-1.c: New test.
From-SVN: r49908
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020219-1.c21
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1e1538d..fb55f89 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2002-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c-torture/execute/20020219-1.c: New test.
+
2002-02-17 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/execute/20020216-1.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020219-1.c b/gcc/testsuite/gcc.c-torture/execute/20020219-1.c
new file mode 100644
index 0000000..48200e3
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20020219-1.c
@@ -0,0 +1,21 @@
+/* PR c/4308
+ This testcase failed because 0x8000000000000000 >> 0
+ was incorrectly folded into 0xffffffff00000000. */
+
+extern void abort (void);
+extern void exit (int);
+
+long long foo (void)
+{
+ long long C = 1ULL << 63, X;
+ int Y = 32;
+ X = C >> (Y & 31);
+ return X;
+}
+
+int main (void)
+{
+ if (foo () != 1ULL << 63)
+ abort ();
+ exit (0);
+}