summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-csl-arm/pr34130.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc/gcc-csl-arm/pr34130.patch')
-rw-r--r--meta/packages/gcc/gcc-csl-arm/pr34130.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-csl-arm/pr34130.patch b/meta/packages/gcc/gcc-csl-arm/pr34130.patch
new file mode 100644
index 0000000000..415335f4b4
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/pr34130.patch
@@ -0,0 +1,16 @@
1Index: 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));