diff options
author | James Harvey | 2015-07-19 16:58:24 +0000 |
---|---|---|
committer | James Harvey | 2015-07-19 16:58:24 +0000 |
commit | 37f8b6af4a5c5c573c9ead45fb6fb6d97c1dc662 (patch) | |
tree | e7efb07f0a6a3ef07bb51ac8775feee8bb548f21 | |
parent | e95bd3db15bd55833504c5ed944e510d353dd3e7 (diff) | |
download | aur-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-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 54 | ||||
-rw-r--r-- | gcc.isl.0.15.includes.patch | 127 | ||||
-rw-r--r-- | gcc.isl.0.15.patch | 229 | ||||
-rw-r--r-- | pr66035.patch | 48 |
5 files changed, 400 insertions, 78 deletions
@@ -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 @@ -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)); |