summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Harvey2015-07-19 16:58:24 +0000
committerJames Harvey2015-07-19 16:58:24 +0000
commit37f8b6af4a5c5c573c9ead45fb6fb6d97c1dc662 (patch)
treee7efb07f0a6a3ef07bb51ac8775feee8bb548f21
parente95bd3db15bd55833504c5ed944e510d353dd3e7 (diff)
downloadaur-37f8b6af4a5c5c573c9ead45fb6fb6d97c1dc662.tar.gz
builds from master rather than commit 12dcc3b7 (2015-07-01 02:15:32 UTC) - default abi change resolved. omitted patch committed upstream. added upstream patches so isl 0.15 can be used rather than 0.14.1. omitted upstream-removed empty gcc-fortran library. various documentation and depends fixes.
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD54
-rw-r--r--gcc.isl.0.15.includes.patch127
-rw-r--r--gcc.isl.0.15.patch229
-rw-r--r--pr66035.patch48
5 files changed, 400 insertions, 78 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 63d15417b331..5b4a32155c82 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -16,17 +16,17 @@ pkgbase = gcc-git
makedepends = gcc-ada
makedepends = doxygen
makedepends = git
- depends = zlib
- depends = libmpc
options = !emptydirs
source = git://gcc.gnu.org/git/gcc.git
- source = http://isl.gforge.inria.fr/isl-0.14.1.tar.bz2
- source = pr66035.patch
+ source = http://isl.gforge.inria.fr/isl-0.15.tar.bz2
source = gcc.libstdc++-v3.python.dot.fix.patch
+ source = gcc.isl.0.15.patch
+ source = gcc.isl.0.15.includes.patch
md5sums = SKIP
- md5sums = 118d1a379abf7606a3334c98a8411c79
- md5sums = 5b980076cd5fcbc3aff6014f306282dd
+ md5sums = 8428efbbc6f6e2810ce5c1ba73ecf98c
md5sums = 7de06deb9ee0c10454219a319e62e4dc
+ md5sums = 7069b4d1f9413a04ce4cfba039b1b0ba
+ md5sums = 6daf2d3f9365a0e768bdaaa1595b18f6
pkgname = gcc-git
pkgdesc = The GNU Compiler Collection - C and C++ frontends (developmental version)
@@ -53,6 +53,8 @@ pkgname = gcc-fortran-git
pkgdesc = Fortran front-end for GCC (developmental version)
install = gcc-fortran.install
depends = gcc-git=6.0.0.r139654.12dcc3b-1
+ depends = libmpc
+ depends = zlib
provides = gcc-fortran
conflicts = gcc-fortran
options = !emptydirs
@@ -60,6 +62,8 @@ pkgname = gcc-fortran-git
pkgname = gcc-objc-git
pkgdesc = Objective-C front-end for GCC (developmental version)
depends = gcc-git=6.0.0.r139654.12dcc3b-1
+ depends = libmpc
+ depends = zlib
provides = gcc-objc
conflicts = gcc-objc
@@ -67,6 +71,8 @@ pkgname = gcc-ada-git
pkgdesc = Ada front-end for GCC (GNAT) (developmental version)
install = gcc-ada.install
depends = gcc-git=6.0.0.r139654.12dcc3b-1
+ depends = libmpc
+ depends = zlib
provides = gcc-ada
conflicts = gcc-ada
options = staticlibs
@@ -76,6 +82,8 @@ pkgname = gcc-go-git
pkgdesc = Go front-end for GCC (developmental version)
install = gcc-go.install
depends = gcc-git=6.0.0.r139654.12dcc3b-1
+ depends = libmpc
+ depends = zlib
provides = gcc-go
conflicts = go,
conflicts = gcc-go
diff --git a/PKGBUILD b/PKGBUILD
index 2af9db43a105..8a6f8d4754c2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,15 +7,14 @@
# ======================================
# Maintainer: James Harvey <jamespharvey20@gmail.com>
# * This PKGBUILD as closely as possible matches core's gcc 5.1.0-5
-# * Builds from git commit 12dcc3b7 (2015-07-01 02:15:32 UTC), rather than master, because after that the default standard changes, causing many errors
-# * The volumous test suite failures ("UNRESOLVED:", "FAIL:") occur during building core's 5.1.0-5, so the problem is upstream from here
+# * The many test suite failures ("UNRESOLVED:", "FAIL:") occur during building core's 5.1.0-5, so the problem is upstream from here
# * Core's 5.1.0-5 pr65882.patch is omitted, because it is git commit 1774df35
# * Core's 5.1.0-5 pr66647.patch is omitted, because it is git commit fa4f365b
+# * Core's 5.1.0-5 pr66035.patch is omitted, because it is git commit 635e1b2f, slightly modified
# * gcc.libstdc++-v3.python.dot.fix.patch is added, to fix an accidentical misnaming of gdb.py
-# * Addition of zlib and libmpc depends, due to new /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0/gnat1
-# * All namcap warnings are identical, as of 6.0.0.r139654.12dcc3b, except:
+# * All namcap warnings are identical, as of 6.0.0.r140049.cab0d20, except:
# * Error of a missing custom license directory of /usr/share/licenses/gcc*-git
-# * Symlink /usr/lib/bfd-plugins/liblto_plugin.so points to non-existing /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0.r139654.12dcc3b/liblto_plugin.so
+# * Symlink /usr/lib/bfd-plugins/liblto_plugin.so points to non-existing /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0.r140049.cab0d20/liblto_plugin.so
# * _pkgver_base is hard coded at the moment to 6.0.0; can't parse from source at that point
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -26,26 +25,26 @@ _pkgname=gcc
pkgver=6.0.0.r139654.12dcc3b
_pkgver_base=6.0.0
_pkgver=6
-# Bug report upstream. As of 2015-07-07, gcc master is incompatible with isl ver 0.15, starting with compilation errors in gcc/graphite-poly.h
-_islver=0.14.1
+_islver=0.15
pkgrel=1
pkgdesc="The GNU Compiler Collection (developmental version)"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
-depends=('zlib' 'libmpc')
makedepends=('binutils>=2.25' 'libmpc' 'gcc-ada' 'doxygen' 'git')
checkdepends=('dejagnu' 'inetutils')
options=('!emptydirs')
source=(git://gcc.gnu.org/git/gcc.git
http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- pr66035.patch
- gcc.libstdc++-v3.python.dot.fix.patch)
+ gcc.libstdc++-v3.python.dot.fix.patch
+ gcc.isl.0.15.patch
+ gcc.isl.0.15.includes.patch)
md5sums=('SKIP'
- '118d1a379abf7606a3334c98a8411c79'
- '5b980076cd5fcbc3aff6014f306282dd'
- '7de06deb9ee0c10454219a319e62e4dc')
+ '8428efbbc6f6e2810ce5c1ba73ecf98c'
+ '7de06deb9ee0c10454219a319e62e4dc'
+ '7069b4d1f9413a04ce4cfba039b1b0ba'
+ '6daf2d3f9365a0e768bdaaa1595b18f6')
_basedir=${_pkgname}
@@ -53,8 +52,6 @@ _libdir="usr/lib/gcc/$CHOST/$_pkgver_base"
pkgver() {
cd ${srcdir}/gcc
- # new work needed for beyond this point, default standard changed
- git checkout 12dcc3b7405a43e28010b2f5c186bf6f5f809397 > /dev/null 2>&1
echo $(cat gcc/BASE-VER).r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}
@@ -73,12 +70,15 @@ 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
-
# Submitted upstream - Fixes misnaming of gdb.py file due to addition of libstdc++fs library
patch -p0 -i ${srcdir}/gcc.libstdc++-v3.python.dot.fix.patch
+ # https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01162.html
+ patch -p1 -i ${srcdir}/gcc.isl.0.15.patch
+
+ # https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01507.html
+ patch -p1 -i ${srcdir}/gcc.isl.0.15.includes.patch
+
mkdir ${srcdir}/gcc-build
}
@@ -104,7 +104,7 @@ build() {
--with-linker-hash-style=gnu --enable-gnu-indirect-function \
--disable-multilib --disable-werror \
--enable-checking=release \
- --with-default-libstdcxx-abi=c++98
+ --with-default-libstdcxx-abi=gcc4-compatible
make
@@ -276,14 +276,17 @@ EOF
package_gcc-fortran-git()
{
pkgdesc="Fortran front-end for GCC (developmental version)"
- depends=("gcc-git=$pkgver-$pkgrel")
+ # Addition of libmpc and zlib depends, due to new requirements of /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0/f951
+ depends=("gcc-git=$pkgver-$pkgrel" 'libmpc' 'zlib')
provides=('gcc-fortran')
conflicts=('gcc-fortran')
options=('!emptydirs')
install=gcc-fortran.install
cd ${srcdir}/gcc-build
- make -C $CHOST/libgfortran DESTDIR=$pkgdir install-{caf,my}execlibLTLIBRARIES \
+ # install-myexeclibLTLIBRARIES omitted because it was removed upstream
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40267
+ make -C $CHOST/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
install-{toolexeclibDATA,nodist_fincludeHEADERS}
make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
make -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
@@ -299,7 +302,8 @@ package_gcc-fortran-git()
package_gcc-objc-git()
{
pkgdesc="Objective-C front-end for GCC (developmental version)"
- depends=("gcc-git=$pkgver-$pkgrel")
+ # Addition of libmpc and zlib depends, due to new requirements of /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0/gnat1
+ depends=("gcc-git=$pkgver-$pkgrel" 'libmpc' 'zlib')
provides=('gcc-objc')
conflicts=('gcc-objc')
@@ -316,7 +320,8 @@ package_gcc-objc-git()
package_gcc-ada-git()
{
pkgdesc="Ada front-end for GCC (GNAT) (developmental version)"
- depends=("gcc-git=$pkgver-$pkgrel")
+ # Addition of libmpc and zlib depends, due to new requirements of /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0/gnat1
+ depends=("gcc-git=$pkgver-$pkgrel" 'libmpc' 'zlib')
provides=('gcc-ada')
conflicts=('gcc-ada')
options=('staticlibs' '!emptydirs')
@@ -342,7 +347,8 @@ package_gcc-ada-git()
package_gcc-go-git()
{
pkgdesc="Go front-end for GCC (developmental version)"
- depends=("gcc-git=$pkgver-$pkgrel")
+ # Addition of libmpc and zlib depends, due to new requirements of /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0/go1
+ depends=("gcc-git=$pkgver-$pkgrel" 'libmpc' 'zlib')
provides=('gcc-go')
conflicts=('go', 'gcc-go')
options=('!emptydirs')
diff --git a/gcc.isl.0.15.includes.patch b/gcc.isl.0.15.includes.patch
new file mode 100644
index 000000000000..162c5bf2cc14
--- /dev/null
+++ b/gcc.isl.0.15.includes.patch
@@ -0,0 +1,127 @@
+---
+ gcc/graphite-blocking.c | 1 +
+ gcc/graphite-dependences.c | 1 +
+ gcc/graphite-interchange.c | 1 +
+ gcc/graphite-isl-ast-to-gimple.c | 2 ++
+ gcc/graphite-optimize-isl.c | 2 ++
+ gcc/graphite-poly.c | 1 +
+ gcc/graphite-scop-detection.c | 1 +
+ gcc/graphite-sese-to-poly.c | 1 +
+ gcc/graphite.c | 1 +
+ 9 files changed, 11 insertions(+)
+
+diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c
+index 73d7c59..172bdcd 100644
+--- a/gcc/graphite-blocking.c
++++ b/gcc/graphite-blocking.c
+@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
+index 9a0986d..df52e54 100644
+--- a/gcc/graphite-dependences.c
++++ b/gcc/graphite-dependences.c
+@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
+index aee51a8..bcf7f3b 100644
+--- a/gcc/graphite-interchange.c
++++ b/gcc/graphite-interchange.c
+@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/aff.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
+index b32781a..7aafee2 100644
+--- a/gcc/graphite-isl-ast-to-gimple.c
++++ b/gcc/graphite-isl-ast-to-gimple.c
+@@ -24,7 +24,9 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
++#include <isl/union_set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+ #include <isl/ast_build.h>
+diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
+index 388e25c..2b55783 100644
+--- a/gcc/graphite-optimize-isl.c
++++ b/gcc/graphite-optimize-isl.c
+@@ -24,7 +24,9 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
++#include <isl/union_set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+ #include <isl/schedule.h>
+diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
+index bcd08d8..e3ddd57 100644
+--- a/gcc/graphite-poly.c
++++ b/gcc/graphite-poly.c
+@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
+index 47e0da0..22fdde3 100644
+--- a/gcc/graphite-scop-detection.c
++++ b/gcc/graphite-scop-detection.c
+@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
+index 5064247..7b10289 100644
+--- a/gcc/graphite-sese-to-poly.c
++++ b/gcc/graphite-sese-to-poly.c
+@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+diff --git a/gcc/graphite.c b/gcc/graphite.c
+index a81ef6a..32f405a 100644
+--- a/gcc/graphite.c
++++ b/gcc/graphite.c
+@@ -38,6 +38,7 @@ along with GCC; see the file COPYING3. If not see
+ /* Workaround for GMP 5.1.3 bug, see PR56019. */
+ #include <stddef.h>
+
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/options.h>
+--
+1.7.10.4
+
diff --git a/gcc.isl.0.15.patch b/gcc.isl.0.15.patch
new file mode 100644
index 000000000000..12d42c719091
--- /dev/null
+++ b/gcc.isl.0.15.patch
@@ -0,0 +1,229 @@
+---
+ gcc/config.in | 6 ++++++
+ gcc/configure | 31 +++++++++++++++++++++++++++++++
+ gcc/configure.ac | 14 ++++++++++++++
+ gcc/graphite-dependences.c | 14 +++++++-------
+ gcc/graphite-optimize-isl.c | 8 ++++++--
+ gcc/graphite-poly.h | 5 +++++
+ 6 files changed, 69 insertions(+), 9 deletions(-)
+
+diff --git a/gcc/config.in b/gcc/config.in
+index b031a62..23e1757 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -1326,6 +1326,12 @@
+ #endif
+
+
++/* Define if isl_options_set_schedule_serialize_sccs exists. */
++#ifndef USED_FOR_TARGET
++#undef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++#endif
++
++
+ /* Define if isl_schedule_constraints_compute_schedule exists. */
+ #ifndef USED_FOR_TARGET
+ #undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
+diff --git a/gcc/configure b/gcc/configure
+index 9561e5c..6e81298 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -28456,6 +28456,8 @@ fi
+
+ # Check whether isl_schedule_constraints_compute_schedule is available;
+ # it's new in ISL-0.13.
++# Check whether isl_options_set_schedule_serialize_sccs is available;
++# it's new in ISL-0.15.
+ if test "x${ISLLIBS}" != "x" ; then
+ saved_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $ISLINC"
+@@ -28485,6 +28487,29 @@ rm -f core conftest.err conftest.$ac_objext \
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_schedule_constraints_compute_schedule" >&5
+ $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
+
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_options_set_schedule_serialize_sccs" >&5
++$as_echo_n "checking Checking for isl_options_set_schedule_serialize_sccs... " >&6; }
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <isl/schedule.h>
++int
++main ()
++{
++isl_options_set_schedule_serialize_sccs (NULL, 0);
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_link "$LINENO"; then :
++ ac_has_isl_options_set_schedule_serialize_sccs=yes
++else
++ ac_has_isl_options_set_schedule_serialize_sccs=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
++$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
++
+ LIBS="$saved_LIBS"
+ CXXFLAGS="$saved_CXXFLAGS"
+
+@@ -28493,6 +28518,12 @@ $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
+ $as_echo "#define HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE 1" >>confdefs.h
+
+ fi
++
++ if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
++
++$as_echo "#define HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS 1" >>confdefs.h
++
++ fi
+ fi
+
+ # Check for plugin support
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index cb14639..7fb964a 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5725,6 +5725,8 @@ fi
+
+ # Check whether isl_schedule_constraints_compute_schedule is available;
+ # it's new in ISL-0.13.
++# Check whether isl_options_set_schedule_serialize_sccs is available;
++# it's new in ISL-0.15.
+ if test "x${ISLLIBS}" != "x" ; then
+ saved_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $ISLINC"
+@@ -5738,6 +5740,13 @@ if test "x${ISLLIBS}" != "x" ; then
+ [ac_has_isl_schedule_constraints_compute_schedule=no])
+ AC_MSG_RESULT($ac_has_isl_schedule_constraints_compute_schedule)
+
++ AC_MSG_CHECKING([Checking for isl_options_set_schedule_serialize_sccs])
++ AC_TRY_LINK([#include <isl/schedule.h>],
++ [isl_options_set_schedule_serialize_sccs (NULL, 0);],
++ [ac_has_isl_options_set_schedule_serialize_sccs=yes],
++ [ac_has_isl_options_set_schedule_serialize_sccs=no])
++ AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
++
+ LIBS="$saved_LIBS"
+ CXXFLAGS="$saved_CXXFLAGS"
+
+@@ -5745,6 +5754,11 @@ if test "x${ISLLIBS}" != "x" ; then
+ AC_DEFINE(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE, 1,
+ [Define if isl_schedule_constraints_compute_schedule exists.])
+ fi
++
++ if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
++ AC_DEFINE(HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS, 1,
++ [Define if isl_options_set_schedule_serialize_sccs exists.])
++ fi
+ fi
+
+ GCC_ENABLE_PLUGINS
+diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
+index 50fe73e..9a0986d 100644
+--- a/gcc/graphite-dependences.c
++++ b/gcc/graphite-dependences.c
+@@ -205,7 +205,7 @@ scop_get_transformed_schedule (scop_p scop, vec<poly_bb_p> pbbs)
+ /* Helper function used on each MAP of a isl_union_map. Computes the
+ maximal output dimension. */
+
+-static int
++static isl_stat
+ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
+ {
+ int global_max = *((int *) user);
+@@ -217,7 +217,7 @@ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
+
+ isl_map_free (map);
+ isl_space_free (space);
+- return 0;
++ return isl_stat_ok;
+ }
+
+ /* Extends the output dimension of MAP to MAX dimensions. */
+@@ -241,12 +241,12 @@ struct extend_schedule_str {
+
+ /* Helper function for extend_schedule. */
+
+-static int
++static isl_stat
+ extend_schedule_1 (__isl_take isl_map *map, void *user)
+ {
+ struct extend_schedule_str *str = (struct extend_schedule_str *) user;
+ str->umap = isl_union_map_add_map (str->umap, extend_map (map, str->max));
+- return 0;
++ return isl_stat_ok;
+ }
+
+ /* Return a relation that has uniform output dimensions. */
+@@ -255,16 +255,16 @@ __isl_give isl_union_map *
+ extend_schedule (__isl_take isl_union_map *x)
+ {
+ int max = 0;
+- int res;
++ isl_stat res;
+ struct extend_schedule_str str;
+
+ res = isl_union_map_foreach_map (x, max_number_of_out_dimensions, (void *) &max);
+- gcc_assert (res == 0);
++ gcc_assert (res == isl_stat_ok);
+
+ str.max = max;
+ str.umap = isl_union_map_empty (isl_union_map_get_space (x));
+ res = isl_union_map_foreach_map (x, extend_schedule_1, (void *) &str);
+- gcc_assert (res == 0);
++ gcc_assert (res == isl_stat_ok);
+
+ isl_union_map_free (x);
+ return str.umap;
+diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
+index f490401..388e25c 100644
+--- a/gcc/graphite-optimize-isl.c
++++ b/gcc/graphite-optimize-isl.c
+@@ -506,13 +506,13 @@ getScheduleMap (isl_schedule *Schedule, isl_union_map **map_sepcl)
+ return ScheduleMap;
+ }
+
+-static int
++static isl_stat
+ getSingleMap (__isl_take isl_map *map, void *user)
+ {
+ isl_map **singleMap = (isl_map **) user;
+ *singleMap = map;
+
+- return 0;
++ return isl_stat_ok;
+ }
+
+ static void
+@@ -584,7 +584,11 @@ optimize_isl (scop_p scop)
+
+ isl_options_set_schedule_max_constant_term (scop->ctx, CONSTANT_BOUND);
+ isl_options_set_schedule_maximize_band_depth (scop->ctx, 1);
++#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++ isl_options_set_schedule_serialize_sccs (scop->ctx, 1);
++#else
+ isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN);
++#endif
+ isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_CONTINUE);
+
+ #ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
+diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
+index 7ffd18e..7022a1d 100644
+--- a/gcc/graphite-poly.h
++++ b/gcc/graphite-poly.h
+@@ -24,6 +24,11 @@ along with GCC; see the file COPYING3. If not see
+
+ #include "sese.h"
+
++#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++# define isl_stat int
++# define isl_stat_ok 0
++#endif
++
+ typedef struct poly_dr *poly_dr_p;
+
+ typedef struct poly_bb *poly_bb_p;
+--
+2.4.4
+
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));