diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2007-12-07 15:01:54 +0000 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2007-12-07 15:01:54 +0000 |
commit | d9f16e6feae285b666c6456dc1abd6b93925f83d (patch) | |
tree | bb2a0095bc834293760f0aee5eccc635ce5ec734 | |
parent | 752aaa70a40feb69c29ff3b55cb25fb4ae2df121 (diff) | |
download | OSELAS.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-- | ChangeLog | 4 | ||||
-rw-r--r-- | patches/gcc-4.1.2/generic/gcc-4.1.1-pr34130.diff | 95 | ||||
-rw-r--r-- | patches/gcc-4.1.2/generic/series | 1 |
3 files changed, 100 insertions, 0 deletions
@@ -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 |