summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFantix King2015-10-26 21:41:07 +0800
committerFantix King2015-11-13 01:21:36 +0800
commit5fa61e7d0124c6c0bd29ac3ceb9a3ca318465397 (patch)
treeaeefd02a350231b2821a8cfcfb5df902a7ff616a
parent82c5cb513b8bfc1d0df3a130730fa89c6d62dd31 (diff)
downloadaur-5fa61e7d0124c6c0bd29ac3ceb9a3ca318465397.tar.gz
5.2.0-2.1
-rw-r--r--.SRCINFO63
-rw-r--r--PKGBUILD90
-rw-r--r--gcc-4.8-filename-output.patch17
-rw-r--r--gcc-4.8-lambda-ICE.patch35
-rw-r--r--gcc-4.9-isl-0.13-hack.patch71
-rw-r--r--pr66035.patch48
6 files changed, 136 insertions, 188 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ab8ac228b62a..ebea1dad9664 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 67f083fc42d3..2045a0a8cc96 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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));