aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-05-09 07:33:58 -0600
committerJeff Law <law@gcc.gnu.org>2002-05-09 07:33:58 -0600
commita08cbd59a60d1428c46dcbcb00f7c2dc5a0681d7 (patch)
tree94bda05e75cdac22870117d349b9eb1e06d51b76
parent3e638a902a722d5ede3f3600062dcce89d78a1b4 (diff)
downloadgcc-a08cbd59a60d1428c46dcbcb00f7c2dc5a0681d7.zip
gcc-a08cbd59a60d1428c46dcbcb00f7c2dc5a0681d7.tar.gz
gcc-a08cbd59a60d1428c46dcbcb00f7c2dc5a0681d7.tar.bz2
re PR rtl-optimization/3311 (GCC-SH: gcc loses result of AND operation due to force_to_mode bug)
Forgot to commit long long ago. See my message to gcc-patches from Mar 28 :-) Testcase for PR 3311. From-SVN: r53328
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020328-1.c25
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bcecf51..5e060c4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -487,6 +487,10 @@ Wed Apr 24 21:38:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
* g++.old-deja/g++.law/bit-fields2.C: Skip on mmix-knuth-mmixware.
+Thu Mar 28 16:38:09 2002 Jeffrey A Law (law@redhat.com)
+
+ * gcc.c-torture/execute/20020328-1.c: New test.
+
2002-03-27 Richard Henderson <rth@redhat.com>
* g++.dg/ext/instantiate1.C: Use scan-assembler, not link errors.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020328-1.c b/gcc/testsuite/gcc.c-torture/execute/20020328-1.c
new file mode 100644
index 0000000..4b6f2bf
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20020328-1.c
@@ -0,0 +1,25 @@
+int b = 0;
+
+func () { }
+
+void
+testit(int x)
+{
+ if (x != 20)
+ abort ();
+}
+
+int
+main()
+
+{
+ int a = 0;
+
+ if (b)
+ func();
+
+ /* simplify_and_const_int would incorrectly omit the mask in
+ the line below. */
+ testit ((a + 23) & 0xfffffffc);
+ exit (0);
+}