415335f4b4cbcd407ada7bb64367fca528d6e2d1
[openwrt/svn-archive/archive.git] / toolchain / gcc / patches / 4.1.2 / 010-pr34130.patch
1 Index: gcc-4.1.2/gcc/fold-const.c
2 ===================================================================
3 --- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
4 +++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
5 @@ -5339,7 +5339,10 @@
6 }
7 break;
8 }
9 - /* FALLTHROUGH */
10 + /* If the constant is negative, we cannot simplify this. */
11 + if (tree_int_cst_sgn (c) == -1)
12 + break;
13 + /* FALLTHROUGH */
14 case NEGATE_EXPR:
15 if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
16 return fold_build1 (tcode, ctype, fold_convert (ctype, t1));