openwrt/toolchain/gcc/patches/4.1.2/010-pr34130.patch
Hauke Mehrtens 0fe95301c9 gcc: refresh patches for gcc 4.1.2
SVN-Revision: 14554
2009-02-18 18:11:04 +00:00

15 lines
466 B
Diff

--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -5339,7 +5339,10 @@ extract_muldiv_1 (tree t, tree c, enum t
}
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));