[arch-commits] Commit in gcc/trunk (PKGBUILD r160561.patch)
Allan McRae
allan at archlinux.org
Fri Jun 11 13:12:16 UTC 2010
Date: Friday, June 11, 2010 @ 09:12:15
Author: allan
Revision: 82472
upgpkg: gcc 4.5.0-6
apply upstream patch to fix khtml/chromium building
Added:
gcc/trunk/r160561.patch
Modified:
gcc/trunk/PKGBUILD
---------------+
PKGBUILD | 11 +++++++--
r160561.patch | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2010-06-11 12:02:04 UTC (rev 82471)
+++ PKGBUILD 2010-06-11 13:12:15 UTC (rev 82472)
@@ -7,7 +7,7 @@
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada')
pkgver=4.5.0
-pkgrel=5
+pkgrel=6
_snapshot=4.5-20100610
_libstdcppmanver=20100312 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
@@ -20,7 +20,8 @@
ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada}-${_snapshot}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man.${_libstdcppmanver}.tar.bz2
gcc_pure64.patch
- gcc-hash-style-both.patch)
+ gcc-hash-style-both.patch
+ r160561.patch)
md5sums=('d0c6573f18e61d0a6c6fe742066346cd'
'4c5369d27b8cb4c4e447553f064d0f16'
'2c191ab600e600c774a65674c542e210'
@@ -28,7 +29,8 @@
'a7527896c33759ccc40bb82173f8f27f'
'f9a21b9dfc174f49a09ddaacfd3ac78f'
'4030ee1c08dd1e843c0225b772360e76'
- '6fd395bacbd7b6e47c7b74854b478363')
+ '6fd395bacbd7b6e47c7b74854b478363'
+ '79cb26e66eb2502171ef69438fa8666d')
if [ -n "${_snapshot}" ]; then
_basedir="${srcdir}/gcc-${_snapshot}"
@@ -55,6 +57,9 @@
fi
patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch || return 1
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44258
+ patch -Np1 -i ${srcdir}/r160561.patch || return 1
+
echo ${pkgver} > gcc/BASE-VER
mkdir build && cd build
Added: r160561.patch
===================================================================
--- r160561.patch (rev 0)
+++ r160561.patch 2010-06-11 13:12:15 UTC (rev 82472)
@@ -0,0 +1,64 @@
+--- trunk/gcc/tree-sra.c 2010/06/10 16:44:04 160560
++++ trunk/gcc/tree-sra.c 2010/06/10 16:49:09 160561
+@@ -1689,9 +1689,10 @@
+
+ /* Build a subtree of accesses rooted in *ACCESS, and move the pointer in the
+ linked list along the way. Stop when *ACCESS is NULL or the access pointed
+- to it is not "within" the root. */
++ to it is not "within" the root. Return false iff some accesses partially
++ overlap. */
+
+-static void
++static bool
+ build_access_subtree (struct access **access)
+ {
+ struct access *root = *access, *last_child = NULL;
+@@ -1706,24 +1707,32 @@
+ last_child->next_sibling = *access;
+ last_child = *access;
+
+- build_access_subtree (access);
++ if (!build_access_subtree (access))
++ return false;
+ }
++
++ if (*access && (*access)->offset < limit)
++ return false;
++
++ return true;
+ }
+
+ /* Build a tree of access representatives, ACCESS is the pointer to the first
+- one, others are linked in a list by the next_grp field. Decide about scalar
+- replacements on the way, return true iff any are to be created. */
++ one, others are linked in a list by the next_grp field. Return false iff
++ some accesses partially overlap. */
+
+-static void
++static bool
+ build_access_trees (struct access *access)
+ {
+ while (access)
+ {
+ struct access *root = access;
+
+- build_access_subtree (&access);
++ if (!build_access_subtree (&access))
++ return false;
+ root->next_grp = access;
+ }
++ return true;
+ }
+
+ /* Return true if expr contains some ARRAY_REFs into a variable bounded
+@@ -2062,9 +2071,7 @@
+ struct access *access;
+
+ access = sort_and_splice_var_accesses (var);
+- if (access)
+- build_access_trees (access);
+- else
++ if (!access || !build_access_trees (access))
+ disqualify_candidate (var,
+ "No or inhibitingly overlapping accesses.");
+ }
More information about the arch-commits
mailing list