2009-02-18 18:11:04 +00:00
|
|
|
--- a/gcc/fold-const.c
|
|
|
|
+++ b/gcc/fold-const.c
|
|
|
|
@@ -5339,7 +5339,10 @@ extract_muldiv_1 (tree t, tree c, enum t
|
2009-01-17 19:18:16 +00:00
|
|
|
}
|
|
|
|
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));
|