aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2009-04-01 20:46:30 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2009-04-01 20:46:30 +0000
commit87cfb32c77478f0e876e6c15a03f75c6aa07b2e7 (patch)
tree4fd3653042cd7b017ac9cd6a959417dfec967094 /gcc/testsuite
parentbbb6eae87edb29b26e7c545645fac3d76a4605d8 (diff)
downloadgcc-87cfb32c77478f0e876e6c15a03f75c6aa07b2e7.zip
gcc-87cfb32c77478f0e876e6c15a03f75c6aa07b2e7.tar.gz
gcc-87cfb32c77478f0e876e6c15a03f75c6aa07b2e7.tar.bz2
re PR rtl-optimization/39588 (internal compiler error: in trunc_int_for_mode, at explow.c:55)
PR rtl-optimization/39588 * combine.c (merge_outer_ops): Do not set the constant when this is not necessary. (simplify_shift_const_1): Do not modify it either in this case. From-SVN: r145430
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20090401-1.c11
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b104b2a..b61f69a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2009-04-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/compile/20090401-1.c: New test.
+
2009-04-01 H.J. Lu <hongjiu.lu@intel.com>
PR c++/4926
diff --git a/gcc/testsuite/gcc.c-torture/compile/20090401-1.c b/gcc/testsuite/gcc.c-torture/compile/20090401-1.c
new file mode 100644
index 0000000..a0058fe
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20090401-1.c
@@ -0,0 +1,11 @@
+/* PR rtl-optimization/39588 */
+/* Testcase by Olivier ROUSSEL <olivier.roussel@cril.univ-artois.fr> */
+
+#define lit_from_int(in) ((in<0)?(((-in)<<1)|1):(in<<1))
+
+void init_clause(int *literals, int size, int *lits)
+{
+ int i;
+ for(i=0; i < size; i++)
+ lits[i] = lit_from_int(literals[i]);
+}