diff options
author | Fantix King | 2015-10-26 21:41:07 +0800 |
---|---|---|
committer | Fantix King | 2015-11-13 01:21:36 +0800 |
commit | 5fa61e7d0124c6c0bd29ac3ceb9a3ca318465397 (patch) | |
tree | aeefd02a350231b2821a8cfcfb5df902a7ff616a | |
parent | 82c5cb513b8bfc1d0df3a130730fa89c6d62dd31 (diff) | |
download | aur-5fa61e7d0124c6c0bd29ac3ceb9a3ca318465397.tar.gz |
5.2.0-2.1
-rw-r--r-- | .SRCINFO | 63 | ||||
-rw-r--r-- | PKGBUILD | 90 | ||||
-rw-r--r-- | gcc-4.8-filename-output.patch | 17 | ||||
-rw-r--r-- | gcc-4.8-lambda-ICE.patch | 35 | ||||
-rw-r--r-- | gcc-4.9-isl-0.13-hack.patch | 71 | ||||
-rw-r--r-- | pr66035.patch | 48 |
6 files changed, 136 insertions, 188 deletions
@@ -1,7 +1,7 @@ pkgbase = gcc-multilib-x32 pkgdesc = The GNU Compiler Collection for multilib with x32 ABI support - pkgver = 4.9.2 - pkgrel = 4.1 + pkgver = 5.2.0 + pkgrel = 2.1 url = http://gcc.gnu.org arch = x86_64 license = GPL @@ -14,25 +14,25 @@ pkgbase = gcc-multilib-x32 makedepends = libmpc makedepends = gcc-ada-multilib makedepends = doxygen - makedepends = lib32-glibc>=2.20 - makedepends = libx32-glibc>=2.20 + makedepends = lib32-glibc>=2.22 + makedepends = libx32-glibc>=2.22 options = !emptydirs - source = ftp://gcc.gnu.org/pub/gcc/snapshots/4.9-20150304/gcc-4.9-20150304.tar.bz2 - source = http://isl.gforge.inria.fr/isl-0.12.2.tar.bz2 - source = http://www.bastoul.net/cloog/pages/download/cloog-0.18.1.tar.gz - md5sums = 863bb9d2a9551c9b7447cfc8b7cc7498 - md5sums = e039bfcfb6c2ab039b8ee69bf883e824 - md5sums = e34fca0540d840e5d0f6427e98c92252 + 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 pkgname = gcc-multilib-x32 pkgdesc = The GNU Compiler Collection - C and C++ frontends for multilib with x32 ABI support install = gcc.install groups = x32-devel - depends = gcc-libs-multilib-x32=4.9.2-4.1 + depends = gcc-libs-multilib-x32=5.2.0-2.1 depends = binutils>=2.25 depends = libmpc - provides = gcc=4.9.2-4 - provides = gcc-multilib=4.9.2-4 + provides = gcc=5.2.0-2 + provides = gcc-multilib=5.2.0-2 conflicts = gcc conflicts = gcc-x32-seed conflicts = gcc-multilib @@ -41,43 +41,43 @@ pkgname = gcc-multilib-x32 pkgname = gcc-libs-multilib-x32 pkgdesc = Runtime libraries shipped by GCC for multilib with x32 ABI support install = gcc-libs.install - depends = glibc>=2.20 - depends = lib32-gcc-libs=4.9.2-4 - depends = libx32-gcc-libs=4.9.2-4.1 - provides = gcc-libs=4.9.2-4 - provides = gcc-libs-multilib=4.9.2-4 + depends = glibc>=2.22 + depends = lib32-gcc-libs=5.2.0-2 + depends = libx32-gcc-libs=5.2.0-2.1 + provides = gcc-libs=5.2.0-2 + provides = gcc-libs-multilib=5.2.0-2 conflicts = gcc-libs options = !emptydirs options = !strip pkgname = libx32-gcc-libs pkgdesc = Runtime libraries shipped by GCC (x32 ABI) - depends = libx32-glibc>=2.20 + depends = libx32-glibc>=2.22 options = !emptydirs options = !strip pkgname = gcc-fortran-multilib-x32 pkgdesc = Fortran front-end for GCC for multilib with x32 ABI support install = gcc-fortran.install - depends = gcc-multilib-x32=4.9.2-4.1 - provides = gcc-fortran=4.9.2-4 - provides = gcc-fortran-multilib=4.9.2-4 + depends = gcc-multilib-x32=5.2.0-2.1 + provides = gcc-fortran=5.2.0-2 + provides = gcc-fortran-multilib=5.2.0-2 conflicts = gcc-fortran options = !emptydirs pkgname = gcc-objc-multilib-x32 pkgdesc = Objective-C front-end for GCC for multilib with x32 ABI support - depends = gcc-multilib-x32=4.9.2-4.1 - provides = gcc-objc=4.9.2-4 - provides = gcc-objc-multilib=4.9.2-4 + depends = gcc-multilib-x32=5.2.0-2.1 + provides = gcc-objc=5.2.0-2 + provides = gcc-objc-multilib=5.2.0-2 conflicts = gcc-objc pkgname = gcc-ada-multilib-x32 pkgdesc = Ada front-end for GCC (GNAT) for multilib with x32 ABI support install = gcc-ada.install - depends = gcc-multilib-x32=4.9.2-4.1 - provides = gcc-ada=4.9.2-4 - provides = gcc-ada-multilib=4.9.2-4 + depends = gcc-multilib-x32=5.2.0-2.1 + provides = gcc-ada=5.2.0-2 + provides = gcc-ada-multilib=5.2.0-2 conflicts = gcc-ada options = staticlibs options = !emptydirs @@ -85,9 +85,10 @@ pkgname = gcc-ada-multilib-x32 pkgname = gcc-go-multilib-x32 pkgdesc = Go front-end for GCC for multilib with x32 ABI support install = gcc-go.install - depends = gcc-multilib-x32=4.9.2-4.1 - provides = gcc-go=4.9.2-4 - provides = gcc-go-multilib=4.9.2-4 + depends = gcc-multilib-x32=5.2.0-2.1 + provides = gcc-go=5.2.0-2 + provides = gcc-go-multilib=5.2.0-2 + conflicts = go conflicts = gcc-go options = !emptydirs @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 128808 2015-03-06 11:34:01Z heftig $ +# $Id: PKGBUILD 138060 2015-08-07 14:12:05Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # x32 Maintainer: Fantix King <fantix.king@gmail.com> @@ -7,27 +7,26 @@ # NOTE: libtool requires rebuilt with each new gcc version pkgname=('gcc-multilib-x32' 'gcc-libs-multilib-x32' 'libx32-gcc-libs' 'gcc-fortran-multilib-x32' 'gcc-objc-multilib-x32' 'gcc-ada-multilib-x32' 'gcc-go-multilib-x32') -pkgver=4.9.2 -_pkgver=4.9 -_islver=0.12.2 -_cloogver=0.18.1 -pkgrel=4.1 -_snapshot=4.9-20150304 +pkgver=5.2.0 +_pkgver=5 +_islver=0.14.1 +pkgrel=2.1 +#_snapshot=5-20150623 pkgdesc="The GNU Compiler Collection for multilib with x32 ABI support" arch=('x86_64') license=('GPL' 'LGPL' 'FDL' 'custom') url="http://gcc.gnu.org" makedepends=('binutils>=2.25' 'libmpc' 'gcc-ada-multilib' 'doxygen' - 'lib32-glibc>=2.20' 'libx32-glibc>=2.20') + 'lib32-glibc>=2.22' 'libx32-glibc>=2.22') checkdepends=('dejagnu' 'inetutils') options=('!emptydirs') -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 +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 - http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz) -md5sums=('863bb9d2a9551c9b7447cfc8b7cc7498' - 'e039bfcfb6c2ab039b8ee69bf883e824' - 'e34fca0540d840e5d0f6427e98c92252') + pr66035.patch) +md5sums=('a51bcfeb3da7dd4c623e27207ed43467' + '118d1a379abf7606a3334c98a8411c79' + '5b980076cd5fcbc3aff6014f306282dd') if [ -n "${_snapshot}" ]; then _basedir=gcc-${_snapshot} @@ -47,9 +46,8 @@ prepare() { cd ${srcdir}/${_basedir} - # link isl/cloog for in-tree builds + # link isl for in-tree build ln -s ../isl-${_islver} isl - ln -s ../cloog-${_cloogver} cloog # Do not run fixincludes sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in @@ -62,6 +60,9 @@ 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 } @@ -78,17 +79,18 @@ build() { --mandir=/usr/share/man --infodir=/usr/share/info \ --with-bugurl=https://bugs.archlinux.org/ \ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ - --enable-shared --enable-threads=posix \ - --with-system-zlib --enable-__cxa_atexit \ + --enable-shared --enable-threads=posix --enable-libmpx \ + --with-system-zlib --with-isl --enable-__cxa_atexit \ --disable-libunwind-exceptions --enable-clocale=gnu \ --disable-libstdcxx-pch --disable-libssp \ --enable-gnu-unique-object --enable-linker-build-id \ - --enable-cloog-backend=isl \ --enable-lto --enable-plugin --enable-install-libiberty \ - --with-linker-hash-style=gnu \ + --with-linker-hash-style=gnu --enable-gnu-indirect-function \ --enable-multilib --disable-werror \ --with-multilib-list=m32,m64,mx32 \ - --enable-checking=release + --enable-checking=release \ + --with-default-libstdcxx-abi=gcc4-compatible + make # make documentation @@ -110,7 +112,7 @@ check() { package_libx32-gcc-libs() { pkgdesc="Runtime libraries shipped by GCC (x32 ABI)" - depends=('libx32-glibc>=2.20') + depends=('libx32-glibc>=2.22') options=('!emptydirs' '!strip') cd ${srcdir}/gcc-build @@ -120,10 +122,10 @@ package_libx32-gcc-libs() for lib in libatomic \ libcilkrts \ + libquadmath \ libgfortran \ libgomp \ libitm \ - libquadmath \ libsanitizer/{a,l,ub}san \ libstdc++-v3/src \ libvtv; do @@ -132,6 +134,9 @@ package_libx32-gcc-libs() make -C $CHOST/x32/libobjc DESTDIR=${pkgdir} install-libs + make -C $CHOST/x32/libmpx DESTDIR=${pkgdir} install + rm ${pkgdir}/usr/libx32/libmpx.spec || true + # remove stuff in gcc-libs-multilib-x32 rm -r ${pkgdir}/usr/lib @@ -143,7 +148,7 @@ package_libx32-gcc-libs() package_gcc-libs-multilib-x32() { pkgdesc="Runtime libraries shipped by GCC for multilib with x32 ABI support" - depends=('glibc>=2.20' "lib32-gcc-libs=$pkgver-${pkgrel%.*}" "libx32-gcc-libs=$pkgver-$pkgrel") + depends=('glibc>=2.22' "lib32-gcc-libs=$pkgver-${pkgrel%.*}" "libx32-gcc-libs=$pkgver-$pkgrel") provides=("gcc-libs=$pkgver-${pkgrel%.*}" "gcc-libs-multilib=$pkgver-${pkgrel%.*}") conflicts=('gcc-libs') options=('!emptydirs' '!strip') @@ -170,9 +175,12 @@ package_gcc-libs-multilib-x32() make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs - + make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install + make -C $CHOST/libmpx DESTDIR=${pkgdir} install + rm ${pkgdir}/usr/lib/libmpx.spec + for lib in libgomp \ libitm \ libquadmath; do @@ -202,7 +210,7 @@ package_gcc-multilib-x32() make -C gcc DESTDIR=${pkgdir} install-driver install-cpp install-gcc-ar \ c++.install-common install-headers install-plugin install-lto-wrapper - install -m755 gcc/gcov $pkgdir/usr/bin/ + install -m755 -t $pkgdir/usr/bin/ gcc/gcov{,-tool} install -m755 -t $pkgdir/${_libdir}/ gcc/{cc1,cc1plus,collect2,lto1} make -C $CHOST/libgcc DESTDIR=${pkgdir} install @@ -221,6 +229,7 @@ package_gcc-multilib-x32() make -C $CHOST/x32/libstdc++-v3/include DESTDIR=${pkgdir} install make -C $CHOST/x32/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install + make DESTDIR=${pkgdir} install-libcc1 install -d $pkgdir/usr/share/gdb/auto-load/usr/lib mv $pkgdir/usr/lib/libstdc++.so.6.*-gdb.py \ $pkgdir/usr/share/gdb/auto-load/usr/lib/ @@ -228,7 +237,11 @@ package_gcc-multilib-x32() make DESTDIR=${pkgdir} install-fixincludes make -C gcc DESTDIR=${pkgdir} install-mkheaders + make -C lto-plugin DESTDIR=${pkgdir} install + install -dm755 ${pkgdir}/usr/lib/bfd-plugins/ + ln -s /usr/lib/gcc/$CHOST/${pkgver}/liblto_plugin.so \ + ${pkgdir}/usr/lib/bfd-plugins/ make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \ install-nodist_cilkincludeHEADERS @@ -236,24 +249,26 @@ package_gcc-multilib-x32() install-nodist_libsubincludeHEADERS make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS - make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS + make -C $CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/32/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/32/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/32/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS - make -C $CHOST/32/libsanitizer DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS make -C $CHOST/32/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/x32/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/x32/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C $CHOST/x32/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS - make -C $CHOST/x32/libsanitizer DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS + make -C $CHOST/x32/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS make -C $CHOST/x32/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS + make -C $CHOST/x32/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C libiberty DESTDIR=${pkgdir} install # install PIC version of libiberty install -m644 ${srcdir}/gcc-build/libiberty/pic/libiberty.a ${pkgdir}/usr/lib - make -C gcc DESTDIR=${pkgdir} install-man install-info rm ${pkgdir}/usr/share/man/man1/{gccgo,gfortran}.1 rm ${pkgdir}/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info @@ -299,6 +314,8 @@ EOF # Install Runtime Library Exception install -d ${pkgdir}/usr/share/licenses/gcc-multilib-x32/ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-multilib-x32/ + + rm ${pkgdir}/usr/share/man/man3/{random,regex}.3 } package_gcc-fortran-multilib-x32() @@ -311,9 +328,12 @@ package_gcc-fortran-multilib-x32() install=gcc-fortran.install cd ${srcdir}/gcc-build - make -C $CHOST/libgfortran DESTDIR=$pkgdir install-{{caf,my}execlibLTLIBRARIES,toolexeclibDATA} - make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-{{caf,my}execlibLTLIBRARIES,toolexeclibDATA} - make -C $CHOST/x32/libgfortran DESTDIR=$pkgdir install-{{caf,my}execlibLTLIBRARIES,toolexeclibDATA} + make -C $CHOST/libgfortran DESTDIR=$pkgdir install-{caf,my}execlibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS} + make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-{caf,my}execlibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS} + make -C $CHOST/x32/libgfortran DESTDIR=$pkgdir install-{caf,my}execlibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS} make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS make -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951 @@ -393,7 +413,7 @@ package_gcc-go-multilib-x32() pkgdesc="Go front-end for GCC for multilib with x32 ABI support" depends=("gcc-multilib-x32=$pkgver-$pkgrel") provides=("gcc-go=$pkgver-${pkgrel%.*}" "gcc-go-multilib=$pkgver-${pkgrel%.*}") - conflicts=('gcc-go') + conflicts=('go' 'gcc-go') options=('!emptydirs') install=gcc-go.install @@ -404,6 +424,8 @@ package_gcc-go-multilib-x32() make -C gcc DESTDIR=$pkgdir go.install-{common,man,info} install -Dm755 gcc/go1 $pkgdir/${_libdir}/go1 + make DESTDIR=${pkgdir} install-gotools + # Install Runtime Library Exception install -d ${pkgdir}/usr/share/licenses/gcc-go-multilib-x32/ ln -s ../gcc-libs-multilib-x32/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-go-multilib-x32/ diff --git a/gcc-4.8-filename-output.patch b/gcc-4.8-filename-output.patch deleted file mode 100644 index 7c2ee0aa5a58..000000000000 --- a/gcc-4.8-filename-output.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c -index 968b703..3f8e6e6 100644 ---- a/gcc/c-family/c-opts.c -+++ b/gcc/c-family/c-opts.c -@@ -1438,6 +1438,12 @@ c_finish_options (void) - static void - push_command_line_include (void) - { -+ /* This can happen if disabled by -imacros for example. -+ Punt so that we don't set "<command-line>" as the filename for -+ the header. */ -+ if (include_cursor > deferred_count) -+ return; -+ - if (!done_preinclude) - { - done_preinclude = true; diff --git a/gcc-4.8-lambda-ICE.patch b/gcc-4.8-lambda-ICE.patch deleted file mode 100644 index cf77a9b352b8..000000000000 --- a/gcc-4.8-lambda-ICE.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c -index 0b8e2f7..ad1c209 100644 ---- a/gcc/cp/semantics.c -+++ b/gcc/cp/semantics.c -@@ -2719,8 +2719,10 @@ finish_member_declaration (tree decl) - /*friend_p=*/0); - } - } -- /* Enter the DECL into the scope of the class. */ -- else if (pushdecl_class_level (decl)) -+ /* Enter the DECL into the scope of the class, if the class -+ isn't a closure (whose fields are supposed to be unnamed). */ -+ else if (CLASSTYPE_LAMBDA_EXPR (current_class_type) -+ || pushdecl_class_level (decl)) - { - if (TREE_CODE (decl) == USING_DECL) - { -diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C -new file mode 100644 -index 0000000..df2b037 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C -@@ -0,0 +1,9 @@ -+// PR c++/56710 -+// { dg-options "-std=c++11 -Wall" } -+ -+int main() -+{ -+ int t = 0; -+ return [&]() -> int {int __t; __t = t; return __t; }(); -+ return [&t]() -> int {int __t; __t = t; return __t; }(); -+} --- -1.8.4.2 - diff --git a/gcc-4.9-isl-0.13-hack.patch b/gcc-4.9-isl-0.13-hack.patch deleted file mode 100644 index c2b95d9526ab..000000000000 --- a/gcc-4.9-isl-0.13-hack.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -Naur gcc-4.9-20140604-old/gcc/graphite-clast-to-gimple.c gcc-4.9-20140604/gcc/graphite-clast-to-gimple.c ---- gcc-4.9-20140604-old/gcc/graphite-clast-to-gimple.c 2014-03-03 21:39:22.000000000 +1000 -+++ gcc-4.9-20140604/gcc/graphite-clast-to-gimple.c 2014-06-25 15:07:57.958697105 +1000 -@@ -28,6 +28,8 @@ - #include <isl/constraint.h> - #include <isl/ilp.h> - #include <isl/aff.h> -+#include <isl/deprecated/int.h> -+#include <isl/deprecated/ilp_int.h> - #include <cloog/cloog.h> - #include <cloog/isl/domain.h> - #endif -diff -Naur gcc-4.9-20140604-old/gcc/graphite-interchange.c gcc-4.9-20140604/gcc/graphite-interchange.c ---- gcc-4.9-20140604-old/gcc/graphite-interchange.c 2014-01-03 08:23:26.000000000 +1000 -+++ gcc-4.9-20140604/gcc/graphite-interchange.c 2014-06-25 15:10:06.882899243 +1000 -@@ -29,6 +29,9 @@ - #include <isl/map.h> - #include <isl/union_map.h> - #include <isl/ilp.h> -+#include <isl/deprecated/int.h> -+#include <isl/deprecated/ilp_int.h> -+#include <isl/deprecated/constraint_int.h> - #include <cloog/cloog.h> - #include <cloog/isl/domain.h> - #endif -diff -Naur gcc-4.9-20140604-old/gcc/graphite-optimize-isl.c gcc-4.9-20140604/gcc/graphite-optimize-isl.c ---- gcc-4.9-20140604-old/gcc/graphite-optimize-isl.c 2014-01-03 08:23:26.000000000 +1000 -+++ gcc-4.9-20140604/gcc/graphite-optimize-isl.c 2014-06-25 15:16:57.038386166 +1000 -@@ -28,6 +28,8 @@ - #include <isl/band.h> - #include <isl/aff.h> - #include <isl/options.h> -+#include <isl/deprecated/int.h> -+#include <isl/deprecated/aff_int.h> - #endif - - #include "system.h" -@@ -373,7 +375,7 @@ - { - for (i = ScheduleDimensions - 1 ; i >= 0 ; i--) - { -- if (isl_band_member_is_zero_distance (Band, i)) -+ if (isl_band_member_is_coincident (Band, i)) - { - isl_map *TileMap; - isl_union_map *TileUMap; -diff -Naur gcc-4.9-20140604-old/gcc/graphite-poly.c gcc-4.9-20140604/gcc/graphite-poly.c ---- gcc-4.9-20140604-old/gcc/graphite-poly.c 2014-01-03 08:23:26.000000000 +1000 -+++ gcc-4.9-20140604/gcc/graphite-poly.c 2014-06-25 15:18:01.207157796 +1000 -@@ -28,6 +28,8 @@ - #include <isl/constraint.h> - #include <isl/ilp.h> - #include <isl/aff.h> -+#include <isl/deprecated/int.h> -+#include <isl/deprecated/ilp_int.h> - #include <cloog/cloog.h> - #include <cloog/isl/domain.h> - #endif -diff -Naur gcc-4.9-20140604-old/gcc/graphite-sese-to-poly.c gcc-4.9-20140604/gcc/graphite-sese-to-poly.c ---- gcc-4.9-20140604-old/gcc/graphite-sese-to-poly.c 2014-04-08 20:59:40.000000000 +1000 -+++ gcc-4.9-20140604/gcc/graphite-sese-to-poly.c 2014-06-25 15:19:46.575140398 +1000 -@@ -26,6 +26,9 @@ - #include <isl/union_map.h> - #include <isl/constraint.h> - #include <isl/aff.h> -+#include <isl/deprecated/int.h> -+#include <isl/deprecated/aff_int.h> -+#include <isl/deprecated/constraint_int.h> - #include <cloog/cloog.h> - #include <cloog/cloog.h> - #include <cloog/isl/domain.h> diff --git a/pr66035.patch b/pr66035.patch new file mode 100644 index 000000000000..c51822ca1f2c --- /dev/null +++ b/pr66035.patch @@ -0,0 +1,48 @@ +--- 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)); |