summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Balister <philip@balister.org>2007-11-26 21:14:27 +0000
committerPhilip Balister <philip@balister.org>2007-11-26 21:14:27 +0000
commite94832913a60275780578b62a5227db2d1543511 (patch)
treebca8de16175f13b8ae8dae2dcd1eafad8936f954
parent7639f2359fb6e8d4c861146b1ed4b1f3833cd75b (diff)
parent0f8020eaee0dbdaecc9465d51a54326d9ddbdf6b (diff)
merge of 'ed8cc53f61ab5684eccfe6a4732071def8a37424'
and 'fd549036e39255b6f9ea199f6ca4fa98085c419d'
-rw-r--r--packages/gcc/gcc-4.1.0/pr34130.patch16
-rw-r--r--packages/gcc/gcc-4.1.1/pr34130.patch16
2 files changed, 32 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.1.0/pr34130.patch b/packages/gcc/gcc-4.1.0/pr34130.patch
new file mode 100644
index 0000000000..415335f4b4
--- /dev/null
+++ b/packages/gcc/gcc-4.1.0/pr34130.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.1.2/gcc/fold-const.c
+===================================================================
+--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
++++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
+@@ -5339,7 +5339,10 @@
+ }
+ break;
+ }
+- /* FALLTHROUGH */
++ /* If the constant is negative, we cannot simplify this. */
++ if (tree_int_cst_sgn (c) == -1)
++ break;
++ /* FALLTHROUGH */
+ case NEGATE_EXPR:
+ if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
+ return fold_build1 (tcode, ctype, fold_convert (ctype, t1));
diff --git a/packages/gcc/gcc-4.1.1/pr34130.patch b/packages/gcc/gcc-4.1.1/pr34130.patch
new file mode 100644
index 0000000000..415335f4b4
--- /dev/null
+++ b/packages/gcc/gcc-4.1.1/pr34130.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.1.2/gcc/fold-const.c
+===================================================================
+--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
++++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
+@@ -5339,7 +5339,10 @@
+ }
+ break;
+ }
+- /* FALLTHROUGH */
++ /* If the constant is negative, we cannot simplify this. */
++ if (tree_int_cst_sgn (c) == -1)
++ break;
++ /* FALLTHROUGH */
+ case NEGATE_EXPR:
+ if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
+ return fold_build1 (tcode, ctype, fold_convert (ctype, t1));