diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | pr66035.patch | 48 |
3 files changed, 15 insertions, 69 deletions
@@ -1,6 +1,8 @@ +# Generated by mksrcinfo v8 +# Fri Dec 11 22:17:24 UTC 2015 pkgbase = arm-linux-gnueabihf-gcc pkgdesc = The GNU Compiler Collection (arm-linux-gnueabihf) - pkgver = 5.2.0 + pkgver = 5.3.0 pkgrel = 2 url = http://gcc.gnu.org arch = i686 @@ -16,8 +18,8 @@ pkgbase = arm-linux-gnueabihf-gcc depends = libmpc depends = elfutils depends = zlib - provides = arm-linux-gnueabihf-gcc-stage1=5.2.0 - provides = arm-linux-gnueabihf-gcc-stage2=5.2.0 + provides = arm-linux-gnueabihf-gcc-stage1=5.3.0 + provides = arm-linux-gnueabihf-gcc-stage2=5.3.0 conflicts = arm-linux-gnueabihf-gcc-stage1 conflicts = arm-linux-gnueabihf-gcc-stage2 replaces = arm-linux-gnueabihf-gcc-stage1 @@ -25,12 +27,10 @@ pkgbase = arm-linux-gnueabihf-gcc options = !emptydirs options = !distcc options = !strip - source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2 - source = http://isl.gforge.inria.fr/isl-0.14.1.tar.bz2 - source = pr66035.patch - md5sums = a51bcfeb3da7dd4c623e27207ed43467 - md5sums = 118d1a379abf7606a3334c98a8411c79 - md5sums = 5b980076cd5fcbc3aff6014f306282dd + source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.bz2 + source = http://isl.gforge.inria.fr/isl-0.15.tar.bz2 + md5sums = c9616fd448f980259c31de613e575719 + md5sums = 8428efbbc6f6e2810ce5c1ba73ecf98c pkgname = arm-linux-gnueabihf-gcc @@ -6,9 +6,9 @@ _target="arm-linux-gnueabihf" pkgname="${_target}-gcc" -pkgver=5.2.0 +pkgver=5.3.0 _pkgver=5 -_islver=0.14.1 +_islver=0.15 pkgrel=2 #_snapshot=5-20150623 pkgdesc="The GNU Compiler Collection (${_target})" @@ -23,11 +23,9 @@ replaces=("${_target}-gcc-stage1" "${_target}-gcc-stage2") provides=("${_target}-gcc-stage1=${pkgver}" "${_target}-gcc-stage2=${pkgver}") source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 - http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2 - pr66035.patch) -md5sums=('a51bcfeb3da7dd4c623e27207ed43467' - '118d1a379abf7606a3334c98a8411c79' - '5b980076cd5fcbc3aff6014f306282dd') + http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2) +md5sums=('c9616fd448f980259c31de613e575719' + '8428efbbc6f6e2810ce5c1ba73ecf98c') if [ -n "${_snapshot}" ]; then _basedir=gcc-${_snapshot} @@ -49,9 +47,6 @@ prepare() { # hack! - some configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66035 - patch -p1 -i ${srcdir}/pr66035.patch - mkdir ${srcdir}/gcc-build } @@ -83,8 +78,7 @@ build() { --enable-lto --enable-plugin --enable-install-libiberty \ --with-linker-hash-style=gnu --enable-gnu-indirect-function \ --disable-multilib --disable-werror \ - --enable-checking=release \ - --with-default-libstdcxx-abi=gcc4-compatible + --enable-checking=release make } diff --git a/pr66035.patch b/pr66035.patch deleted file mode 100644 index c51822ca1f2c..000000000000 --- a/pr66035.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/gcc/fortran/trans-expr.c -+++ a/gcc/fortran/trans-expr.c -@@ -6897,6 +6897,30 @@ alloc_scalar_allocatable_for_subcomponent_assignment (stmtblock_t *block, - TREE_TYPE (tmp), tmp, - fold_convert (TREE_TYPE (tmp), size)); - } -+ else if (cm->ts.type == BT_CLASS) -+ { -+ gcc_assert (expr2->ts.type == BT_CLASS || expr2->ts.type == BT_DERIVED); -+ if (expr2->ts.type == BT_DERIVED) -+ { -+ tmp = gfc_get_symbol_decl (gfc_find_vtab (&expr2->ts)); -+ tmp = gfc_build_addr_expr (NULL_TREE, tmp); -+ size = fold_convert (size_type_node, gfc_vptr_size_get (tmp)); -+ } -+ else -+ { -+ gfc_expr *e2vtab; -+ gfc_se se; -+ e2vtab = gfc_find_and_cut_at_last_class_ref (expr2); -+ gfc_add_vptr_component (e2vtab); -+ gfc_add_size_component (e2vtab); -+ gfc_init_se (&se, NULL); -+ gfc_conv_expr (&se, e2vtab); -+ gfc_add_block_to_block (block, &se.pre); -+ size = fold_convert (size_type_node, se.expr); -+ gfc_free_expr (e2vtab); -+ } -+ size_in_bytes = size; -+ } - else - { - /* Otherwise use the length in bytes of the rhs. */ -@@ -7068,6 +7092,14 @@ gfc_trans_subcomponent_assign (tree dest, gfc_component * cm, gfc_expr * expr, - tmp = gfc_build_memcpy_call (tmp, se.expr, size); - gfc_add_expr_to_block (&block, tmp); - } -+ else if (cm->ts.type == BT_CLASS && expr->ts.type == BT_CLASS) -+ { -+ tmp = gfc_copy_class_to_class (se.expr, dest, integer_one_node, -+ CLASS_DATA (cm)->attr.unlimited_polymorphic); -+ gfc_add_expr_to_block (&block, tmp); -+ gfc_add_modify (&block, gfc_class_vptr_get (dest), -+ gfc_class_vptr_get (se.expr)); -+ } - else - gfc_add_modify (&block, tmp, - fold_convert (TREE_TYPE (tmp), se.expr)); |