summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2007-12-07 15:01:54 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2007-12-07 15:01:54 +0000
commitd9f16e6feae285b666c6456dc1abd6b93925f83d (patch)
treebb2a0095bc834293760f0aee5eccc635ce5ec734
parent752aaa70a40feb69c29ff3b55cb25fb4ae2df121 (diff)
downloadOSELAS.Toolchain-d9f16e6feae285b666c6456dc1abd6b93925f83d.tar.gz
OSELAS.Toolchain-d9f16e6feae285b666c6456dc1abd6b93925f83d.tar.xz
* patches/gcc-4.1.2/generic/series, patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff, ChangeLog:
fixed gcc's pr34130 git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/branches/OSELAS.Toolchain-1.1-branch@4860 f8d472c7-5700-0410-ac5a-87979cec3adf
-rw-r--r--ChangeLog4
-rw-r--r--patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff95
-rw-r--r--patches/gcc-4.1.2/generic/series1
3 files changed, 100 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7cdf6e2..036bbc3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-12-07 Marc Kleine-Budde <mkl@pengutronix.de>
+ * patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff:
+ added fix for gcc's pr34130
+
2007-10-29 Marc Kleine-Budde <mkl@pengutronix.de>
* rules/cross-gcc-second.make: remove .la files,
diff --git a/patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff b/patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff
new file mode 100644
index 0000000..3e01206
--- /dev/null
+++ b/patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff
@@ -0,0 +1,95 @@
+Author: doko
+Date: Thu Nov 29 00:32:58 2007 UTC (8 days, 14 hours ago)
+Log Message:
+
+gcc/
+2007-11-29 Matthias Klose <doko@ubuntu.com>
+
+ Backport from mainline:
+ 2007-11-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/34130
+ * fold-const.c (extract_muldiv_1): Do not move negative
+ constants inside ABS_EXPR.
+
+gcc/testsuite/
+
+2007-11-29 Matthias Klose <doko@ubuntu.com>
+
+ Backport from mainline:
+ 2007-11-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/34130
+ * gcc.c-torture/execute/pr34130.c: New testcase.
+
+---
+ gcc/ChangeLog | 9 +++++++++
+ gcc/fold-const.c | 3 +++
+ gcc/testsuite/ChangeLog | 8 ++++++++
+ gcc/testsuite/gcc.c-torture/execute/pr34130.c | 12 ++++++++++++
+ 4 files changed, 32 insertions(+)
+
+Index: gcc-4.1.2/gcc/fold-const.c
+===================================================================
+--- gcc-4.1.2.orig/gcc/fold-const.c
++++ gcc-4.1.2/gcc/fold-const.c
+@@ -5339,6 +5339,9 @@ extract_muldiv_1 (tree t, tree c, enum t
+ }
+ break;
+ }
++ /* 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)
+Index: gcc-4.1.2/gcc/ChangeLog
+===================================================================
+--- gcc-4.1.2.orig/gcc/ChangeLog
++++ gcc-4.1.2/gcc/ChangeLog
+@@ -1,3 +1,12 @@
++2007-11-29 Matthias Klose <doko@ubuntu.com>
++
++ Backport from mainline:
++ 2007-11-17 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/34130
++ * fold-const.c (extract_muldiv_1): Do not move negative
++ constants inside ABS_EXPR.
++
+ 2007-02-13 Release Manager
+
+ * GCC 4.1.2 released.
+Index: gcc-4.1.2/gcc/testsuite/gcc.c-torture/execute/pr34130.c
+===================================================================
+--- /dev/null
++++ gcc-4.1.2/gcc/testsuite/gcc.c-torture/execute/pr34130.c
+@@ -0,0 +1,12 @@
++extern void abort (void);
++int foo (int i)
++{
++ return -2 * __builtin_abs(i - 2);
++}
++int main()
++{
++ if (foo(1) != -2
++ || foo(3) != -2)
++ abort ();
++ return 0;
++}
+Index: gcc-4.1.2/gcc/testsuite/ChangeLog
+===================================================================
+--- gcc-4.1.2.orig/gcc/testsuite/ChangeLog
++++ gcc-4.1.2/gcc/testsuite/ChangeLog
+@@ -1,3 +1,11 @@
++2007-11-29 Matthias Klose <doko@ubuntu.com>
++
++ Backport from mainline:
++ 2007-11-17 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/34130
++ * gcc.c-torture/execute/pr34130.c: New testcase.
++
+ 2007-02-13 Release Manager
+
+ * GCC 4.1.2 released.
diff --git a/patches/gcc-4.1.2/generic/series b/patches/gcc-4.1.2/generic/series
index e76f4c0..2403b68 100644
--- a/patches/gcc-4.1.2/generic/series
+++ b/patches/gcc-4.1.2/generic/series
@@ -3,3 +3,4 @@ gcc-4.1.1_gcc_c_incpath-no-host-includes.diff
gcc-4.1.0-arm-bigendian.patch
arm-softfloat.diff
gcc-4.1.1-pr28516.diff -p0
+gcc-4.1.1-pr34130.diff