Commit 6e1b72b5 authored by Timo Teräs's avatar Timo Teräs Committed by Natanael Copa

main/gcc: upgrade to gcc 5.1.0

parent 6dd6cf53
Add support for external spec file via the GCC_SPECS env var. This
allows us to easily control pie/ssp defaults with gcc-config profiles.
2013-08-22 Magnus Granberg <zorry@gentoo.org>
Original patch by Rob Holland
Extended to support multiple entries separated by ':' by Kevin F. Quinn
Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
* gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var
and move the process of the user specifed specs.
--- gcc-4/gcc/gcc.c
+++ gcc-4/gcc/gcc.c
@@ -6482,6 +6482,32 @@
This allows us to easily control pie/ssp defaults with gcc-config profiles.
Original patch by Rob Holland
Extended to support multiple entries separated by ':' by Kevin F. Quinn
Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -6427,6 +6428,48 @@ main (int argc, char **argv)
do_option_spec (option_default_specs[i].name,
option_default_specs[i].spec);
/* Process any user specified specs in the order given on the command
line. */
+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
+ * each spec listed, the string is overwritten at token boundaries
......@@ -26,7 +30,6 @@
+ {
+ struct user_specs *user = (struct user_specs *)
+ xmalloc (sizeof (struct user_specs));
+
+ user->next = (struct user_specs *) 0;
+ user->filename = spec;
+ if (user_specs_tail)
......@@ -37,6 +40,48 @@
+ }
+ }
+#endif
for (uptr = user_specs_head; uptr; uptr = uptr->next)
+ /* Process any user specified specs in the order given on the command
+ * line. */
+ for (struct user_specs *uptr = user_specs_head; uptr; uptr = uptr->next)
+ {
+ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
+ R_OK, true);
+ read_specs (filename ? filename : uptr->filename, false, true);
+ }
+ /* Process any user self specs. */
+ {
+ struct spec_list *sl;
+ for (sl = specs; sl; sl = sl->next)
+ if (sl->name_len == sizeof "self_spec" - 1
+ && !strcmp (sl->name, "self_spec"))
+ do_self_spec (*sl->ptr_spec);
+ }
+
/* Process DRIVER_SELF_SPECS, adding any new options to the end
of the command line. */
@@ -6535,24 +6578,6 @@ main (int argc, char **argv)
PREFIX_PRIORITY_LAST, 0, 1);
}
- /* Process any user specified specs in the order given on the command
- line. */
- for (struct user_specs *uptr = user_specs_head; uptr; uptr = uptr->next)
- {
- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
- R_OK, true);
- read_specs (filename ? filename : uptr->filename, false, true);
- }
-
- /* Process any user self specs. */
- {
- struct spec_list *sl;
- for (sl = specs; sl; sl = sl->next)
- if (sl->name_len == sizeof "self_spec" - 1
- && !strcmp (sl->name, "self_spec"))
- do_self_spec (*sl->ptr_spec);
- }
-
if (compare_debug)
{
char *filename = find_a_file (&startfile_prefixes, uptr->filename,
enum save_temps save;
Enable -D_FORTIFY_SOURCE=2 by default.
Original patch from:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.2/gentoo/10_all_default-fortify-source.patch
--- a/gcc/c-family/c-cppbuiltin.c
+++ b/gcc/c-family/c-cppbuiltin.c
......@@ -21,8 +19,8 @@ http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.2/gent
Please note the warning under '-fgcse' about invoking '-O2' on
programs that use computed gotos.
+ NOTE: In Alpine Linux, `-D_FORTIFY_SOURCE=2' is set by default, and is
+ activated when `-Os' or `-O1' or higher is used. This enables additional
+ NOTE: In Gentoo, `-D_FORTIFY_SOURCE=2' is set by default, and is
+ activated when `-O' is set to 2 or higher. This enables additional
+ compile-time and run-time checks for several libc functions. To disable,
+ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'.
+
......
Enable -Wformat and -Wformat-security by default.
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -412,7 +412,7 @@ C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ O
Warn about format strings that are not literals
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions
Wformat-y2k
@@ -424,7 +424,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
Warn about printf/scanf/strftime/strfmon format string anomalies
Wignored-qualifiers
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -3451,6 +3451,8 @@ compiler warns that an unrecognized option is present.
'-Wno-format-contains-nul', '-Wno-format-extra-args', and
'-Wno-format-zero-length'. '-Wformat' is enabled by '-Wall'.
+ This option is enabled by default in Gentoo.
+
'-Wno-format-contains-nul'
If '-Wformat' is specified, do not warn about format strings
that contain NUL bytes.
@@ -3496,6 +3498,8 @@ compiler warns that an unrecognized option is present.
future warnings may be added to '-Wformat-security' that are
not included in '-Wformat-nonliteral'.)
+ This option is enabled by default in Gentoo.
+
'-Wformat-y2k'
If '-Wformat' is specified, also warn about 'strftime' formats
that may yield only a two-digit year.
Enable -Wtrampolines by default.
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -640,7 +640,7 @@ Common Var(warn_system_headers) Warning
@@ -648,7 +648,7 @@ Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers
Wtrampolines
......@@ -11,14 +12,14 @@ Enable -Wtrampolines by default.
Warn whenever a trampoline is generated
Wtype-limits
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -4007,6 +4007,8 @@ headers---for that, @option{-Wunknown-pragmas} must also be used.
for most targets, it is made up of code and thus requires the stack
to be made executable in order for the program to work properly.
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -4021,6 +4021,8 @@ compiler warns that an unrecognized option is present.
and thus requires the stack to be made executable in order for the
program to work properly.
+ This warning is enabled by default in Gentoo.
+ This warning is enabled by default in Gentoo.
+
@item -Wfloat-equal
@opindex Wfloat-equal
@opindex Wno-float-equal
'-Wfloat-equal'
Warn if floating-point values are used in equality comparisons.
Ensure that msgfmt doesn't encounter problems during gcc bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
library path, will make it work as expected here.
2011-09-19 Martin von Gagern
References:
https://bugs.gentoo.org/372377
https://bugs.gentoo.org/295480
--- gcc-4.1.2.orig/libstdc++-v3/po/Makefile.am
+++ gcc-4.1.2/libstdc++-v3/po/Makefile.am
@@ -39,6 +39,7 @@ MSGFMT = msgfmt
EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
--- gcc-4.1.2.orig/libstdc++-v3/po/Makefile.in
+++ gcc-4.1.2/libstdc++-v3/po/Makefile.in
@@ -419,6 +419,7 @@ uninstall-am: uninstall-info-am
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
2008-07-25 Magnus Granberg <zorry@ume.nu>
* include/libiberty.h (asprintf): Don't declare if defined as a macro
* include/libiberty.h (asprintf): Don't declare if defined as a macro
--- a/include/libiberty.h
+++ b/include/libiberty.h
......
https://bugs.gentoo.org/508852
https://gcc.gnu.org/PR61164
2014-04-27 Magnus Granberg <zorry@gentoo.org>
#508852
* libitm/configure.tgt: Disable FORTIFY
--- a/libitm/configure.tgt
+++ b/libitm/configure.tgt
@@ -43,6 +43,16 @@ if test "$gcc_cv_have_tls" = yes ; then
esac
fi
+# FIXME: error: inlining failed in call to always_inline
+# ‘int vfprintf(FILE*, const char*, __va_list_tag*)’
+# : function body can be overwritten at link time
+# Disable Fortify in libitm for now. #508852
+case "${target}" in
+ *-*-linux*)
+ XCFLAGS="${XCFLAGS} -U_FORTIFY_SOURCE"
+ ;;
+esac
+
# Map the target cpu to an ARCH sub-directory. At the same time,
# work out any special compilation flags as necessary.
case "${target_cpu}" in
From 160397ef3c3331099af028f1b8d3e085b07d88ad Mon Sep 17 00:00:00 2001
http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/gcc-4.9/0016-gcc-poison-system-directories.patch
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH 16/35] gcc: poison-system-directories
......@@ -17,8 +18,6 @@ Upstream-Status: Inappropriate [distribution: codesourcery]
gcc/incpath.c | 19 +++++++++++++++++++
8 files changed, 69 insertions(+), 3 deletions(-)
Index: gcc-4.9-20140316/gcc/common.opt
===================================================================
--- gcc-4.9-20140316.orig/gcc/common.opt
+++ gcc-4.9-20140316/gcc/common.opt
@@ -603,6 +603,10 @@ Wpedantic
......@@ -32,25 +31,25 @@ Index: gcc-4.9-20140316/gcc/common.opt
Wshadow
Common Var(warn_shadow) Warning
Warn when one local variable shadows another
Index: gcc-4.9-20140316/gcc/config.in
===================================================================
--- gcc-4.9-20140316.orig/gcc/config.in
+++ gcc-4.9-20140316/gcc/config.in
@@ -138,6 +138,12 @@
#endif
--- gcc-4.9-20140316.orig/gcc/configure.ac
+++ gcc-4.9-20140316/gcc/configure.ac
@@ -5366,6 +5366,16 @@ AC_ARG_ENABLE(version-specific-runtime-l
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+fi
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
Index: gcc-4.9-20140316/gcc/configure
===================================================================
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
--- gcc-4.9-20140316.orig/gcc/configure
+++ gcc-4.9-20140316/gcc/configure
@@ -928,6 +928,7 @@ with_system_zlib
......@@ -90,56 +89,21 @@ Index: gcc-4.9-20140316/gcc/configure
# Substitute configuration variables
Index: gcc-4.9-20140316/gcc/configure.ac
===================================================================
--- gcc-4.9-20140316.orig/gcc/configure.ac
+++ gcc-4.9-20140316/gcc/configure.ac
@@ -5366,6 +5366,16 @@ AC_ARG_ENABLE(version-specific-runtime-l
[specify that runtime libraries should be
installed in a compiler-specific directory])])
--- gcc-4.9-20140316.orig/gcc/config.in
+++ gcc-4.9-20140316/gcc/config.in
@@ -138,6 +138,12 @@
#endif
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
Index: gcc-4.9-20140316/gcc/doc/invoke.texi
===================================================================
--- gcc-4.9-20140316.orig/gcc/doc/invoke.texi
+++ gcc-4.9-20140316/gcc/doc/invoke.texi
@@ -260,6 +260,7 @@ Objective-C and Objective-C++ Dialects}.
-Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol
-Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol
-Wpointer-arith -Wno-pointer-to-int-cast @gol
+-Wno-poison-system-directories @gol
-Wredundant-decls -Wno-return-local-addr @gol
-Wreturn-type -Wsequence-point -Wshadow @gol
-Wsign-compare -Wsign-conversion -Wfloat-conversion @gol
@@ -4230,6 +4231,14 @@ headers---for that, @option{-Wunknown-pr
for most targets, it is made up of code and thus requires the stack
to be made executable in order for the program to work properly.
+@item -Wno-poison-system-directories
+@opindex Wno-poison-system-directories
+Do not warn for @option{-I} or @option{-L} options using system
+directories such as @file{/usr/include} when cross compiling. This
+option is intended for use in chroot environments when such
+directories contain the correct headers and libraries for the target
+system rather than the host.
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+
+
@item -Wfloat-equal
@opindex Wfloat-equal
@opindex Wno-float-equal
Index: gcc-4.9-20140316/gcc/gcc.c
===================================================================
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
--- gcc-4.9-20140316.orig/gcc/gcc.c
+++ gcc-4.9-20140316/gcc/gcc.c
@@ -764,6 +764,8 @@ proper position among the other output f
......@@ -151,8 +115,6 @@ Index: gcc-4.9-20140316/gcc/gcc.c
%{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\
%{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\
%{fgnu-tm:%:include(libitm.spec)%(link_itm)}\
Index: gcc-4.9-20140316/gcc/incpath.c
===================================================================
--- gcc-4.9-20140316.orig/gcc/incpath.c
+++ gcc-4.9-20140316/gcc/incpath.c
@@ -28,6 +28,7 @@
......@@ -188,3 +150,27 @@ Index: gcc-4.9-20140316/gcc/incpath.c
}
/* Use given -I paths for #include "..." but not #include <...>, and
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -558,6 +558,7 @@ _Warning Options_
-Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded
-Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format
-Wpointer-arith -Wno-pointer-to-int-cast
+ -Wno-poison-system-directories
-Wredundant-decls -Wno-return-local-addr
-Wreturn-type -Wsequence-point -Wshadow
-Wsign-compare -Wsign-conversion -Wfloat-conversion
@@ -4010,6 +4011,13 @@ compiler warns that an unrecognized option is present.
pragmas in system headers--for that, '-Wunknown-pragmas' must also
be used.
+'-Wno-poison-system-directories'
+ Do not warn for @option{-I} or @option{-L} options using system
+ directories such as @file{/usr/include} when cross compiling. This
+ option is intended for use in chroot environments when such
+ directories contain the correct headers and libraries for the target
+ system rather than the host.
+
'-Wtrampolines'
Warn about trampolines generated for pointers to nested functions.
dlopen cloog-isl library rather than link to it directly. This prevents
cloog upgrades that change the soname from breaking the compiler.
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc5-isl-dl.patch
In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
We abuse the existing plugin check logic to pull out that info.
--- a/gcc/Makefile.in.jj 2012-12-13 17:09:20.000000000 +0100
+++ b/gcc/Makefile.in 2012-12-14 11:45:22.585670055 +0100
@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# and the system's installed libraries.
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
+BACKENDLIBS = $(if $(ISLLIBS),@DL_LIB@) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
$(ZLIB)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
@@ -2050,6 +2050,15 @@ $(out_object_file): $(out_file)
$(common_out_object_file): $(common_out_file)
$(COMPILE) $<
$(POSTCOMPILE)
+
+graphite%.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite%.o : \
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
+graphite.o : \
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
#
# Generate header and source files from the machine description,
# and compile them.
--- a/gcc/configure
+++ b/gcc/configure
@@ -604,6 +604,7 @@ PICFLAG
enable_host_shared
enable_plugin
pluginlibs
+DL_LIB
ISLINC
ISLLIBS
GMPINC
@@ -28285,6 +28286,7 @@ $as_echo "unable to check" >&6; }
fi
# Check -ldl
+ DL_LIB=
saved_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; }
@@ -28344,6 +28346,7 @@ fi
if test x"$ac_cv_search_dlopen" = x"-ldl"; then
pluginlibs="$pluginlibs -ldl"
+ DL_LIB=$ac_cv_search_dlopen
fi
LIBS="$saved_LIBS"
--- a/gcc/graphite-poly.h.jj 2012-12-13 11:31:27.000000000 +0100
+++ b/gcc/graphite-poly.h 2012-12-14 13:41:41.970800726 +0100
@@ -22,6 +22,478 @@ along with GCC; see the file COPYING3.
#ifndef GCC_GRAPHITE_POLY_H
#define GCC_GRAPHITE_POLY_H
+#include <isl/aff.h>
+#include <isl/schedule.h>
+#include <isl/ilp.h>
+#include <isl/flow.h>
+#include <isl/options.h>
+#include <isl/ast.h>
+#include <isl/ast_build.h>
+#include <isl/val_gmp.h>
+#include <dlfcn.h>
+#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
+#define DYNSYM_ZERO_DISTANCE DYNSYM (isl_band_member_is_coincident)
+#else
+#define DYNSYM_ZERO_DISTANCE DYNSYM (isl_band_member_is_zero_distance)
+#endif
+#define DYNSYMS \
+ DYNSYM (isl_aff_add_coefficient_si); \
+ DYNSYM (isl_aff_free); \
+ DYNSYM (isl_aff_get_space); \
+ DYNSYM (isl_aff_set_coefficient_si); \
+ DYNSYM (isl_aff_set_constant_si); \
+ DYNSYM (isl_aff_zero_on_domain); \
+ DYNSYM (isl_band_free); \
+ DYNSYM (isl_band_get_children); \
+ DYNSYM (isl_band_get_partial_schedule); \
+ DYNSYM (isl_band_has_children); \
+ DYNSYM (isl_band_list_free); \
+ DYNSYM (isl_band_list_get_band); \
+ DYNSYM (isl_band_list_get_ctx); \
+ DYNSYM (isl_band_list_n_band); \
+ DYNSYM_ZERO_DISTANCE; \
+ DYNSYM (isl_band_n_member); \
+ DYNSYM (isl_basic_map_add_constraint); \
+ DYNSYM (isl_basic_map_project_out); \
+ DYNSYM (isl_basic_map_universe); \
+ DYNSYM (isl_constraint_set_coefficient_si); \
+ DYNSYM (isl_constraint_set_constant_si); \
+ DYNSYM (isl_ctx_alloc); \
+ DYNSYM (isl_ctx_free); \
+ DYNSYM (isl_equality_alloc); \
+ DYNSYM (isl_id_alloc); \
+ DYNSYM (isl_id_copy); \
+ DYNSYM (isl_id_free); \
+ DYNSYM (isl_inequality_alloc); \
+ DYNSYM (isl_local_space_copy); \
+ DYNSYM (isl_local_space_free); \
+ DYNSYM (isl_local_space_from_space); \
+ DYNSYM (isl_local_space_range); \
+ DYNSYM (isl_map_add_constraint); \
+ DYNSYM (isl_map_add_dims); \
+ DYNSYM (isl_map_align_params); \
+ DYNSYM (isl_map_apply_range); \
+ DYNSYM (isl_map_copy); \
+ DYNSYM (isl_map_dim); \
+ DYNSYM (isl_map_dump); \
+ DYNSYM (isl_map_equate); \
+ DYNSYM (isl_map_fix_si); \
+ DYNSYM (isl_map_flat_product); \
+ DYNSYM (isl_map_flat_range_product); \
+ DYNSYM (isl_map_free); \
+ DYNSYM (isl_map_from_basic_map); \
+ DYNSYM (isl_map_from_pw_aff); \
+ DYNSYM (isl_map_from_union_map); \
+ DYNSYM (isl_map_get_ctx); \
+ DYNSYM (isl_map_get_space); \
+ DYNSYM (isl_map_get_tuple_id); \
+ DYNSYM (isl_map_insert_dims); \
+ DYNSYM (isl_map_intersect); \
+ DYNSYM (isl_map_intersect_domain); \
+ DYNSYM (isl_map_intersect_range); \
+ DYNSYM (isl_map_is_empty); \
+ DYNSYM (isl_map_lex_ge); \
+ DYNSYM (isl_map_lex_le); \
+ DYNSYM (isl_map_n_out); \
+ DYNSYM (isl_map_range); \
+ DYNSYM (isl_map_set_tuple_id); \
+ DYNSYM (isl_map_universe); \
+ DYNSYM (isl_options_set_on_error); \
+ DYNSYM (isl_options_set_schedule_fuse); \
+ DYNSYM (isl_options_set_schedule_max_constant_term); \
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
+ DYNSYM (isl_printer_free); \
+ DYNSYM (isl_printer_print_aff); \
+ DYNSYM (isl_printer_print_constraint); \
+ DYNSYM (isl_printer_print_map); \
+ DYNSYM (isl_printer_print_set); \
+ DYNSYM (isl_printer_to_file); \
+ DYNSYM (isl_pw_aff_add); \
+ DYNSYM (isl_pw_aff_alloc); \
+ DYNSYM (isl_pw_aff_copy); \
+ DYNSYM (isl_pw_aff_eq_set); \
+ DYNSYM (isl_pw_aff_free); \
+ DYNSYM (isl_pw_aff_from_aff); \
+ DYNSYM (isl_pw_aff_ge_set); \
+ DYNSYM (isl_pw_aff_gt_set); \
+ DYNSYM (isl_pw_aff_is_cst); \
+ DYNSYM (isl_pw_aff_le_set); \
+ DYNSYM (isl_pw_aff_lt_set); \
+ DYNSYM (isl_pw_aff_mul); \
+ DYNSYM (isl_pw_aff_ne_set); \
+ DYNSYM (isl_pw_aff_nonneg_set); \
+ DYNSYM (isl_pw_aff_set_tuple_id); \
+ DYNSYM (isl_pw_aff_sub); \
+ DYNSYM (isl_pw_aff_zero_set); \
+ DYNSYM (isl_schedule_free); \
+ DYNSYM (isl_schedule_get_band_forest); \
+ DYNSYM (isl_set_add_constraint); \
+ DYNSYM (isl_set_add_dims); \
+ DYNSYM (isl_set_apply); \
+ DYNSYM (isl_set_coalesce); \
+ DYNSYM (isl_set_copy); \
+ DYNSYM (isl_set_dim); \
+ DYNSYM (isl_set_fix_si); \
+ DYNSYM (isl_set_free); \
+ DYNSYM (isl_set_get_space); \
+ DYNSYM (isl_set_get_tuple_id); \
+ DYNSYM (isl_set_intersect); \
+ DYNSYM (isl_set_is_empty); \
+ DYNSYM (isl_set_n_dim); \
+ DYNSYM (isl_set_nat_universe); \
+ DYNSYM (isl_set_project_out); \
+ DYNSYM (isl_set_set_tuple_id); \
+ DYNSYM (isl_set_universe); \
+ DYNSYM (isl_space_add_dims); \
+ DYNSYM (isl_space_alloc); \
+ DYNSYM (isl_space_copy); \
+ DYNSYM (isl_space_dim); \
+ DYNSYM (isl_space_domain); \
+ DYNSYM (isl_space_find_dim_by_id); \
+ DYNSYM (isl_space_free); \
+ DYNSYM (isl_space_from_domain); \
+ DYNSYM (isl_space_get_tuple_id); \
+ DYNSYM (isl_space_params_alloc); \
+ DYNSYM (isl_space_range); \
+ DYNSYM (isl_space_set_alloc); \
+ DYNSYM (isl_space_set_dim_id); \
+ DYNSYM (isl_space_set_tuple_id); \
+ DYNSYM (isl_union_map_add_map); \
+ DYNSYM (isl_union_map_align_params); \
+ DYNSYM (isl_union_map_apply_domain); \
+ DYNSYM (isl_union_map_apply_range); \
+ DYNSYM (isl_union_map_compute_flow); \
+ DYNSYM (isl_union_map_copy); \
+ DYNSYM (isl_union_map_empty); \
+ DYNSYM (isl_union_map_flat_range_product); \
+ DYNSYM (isl_union_map_foreach_map); \
+ DYNSYM (isl_union_map_free); \
+ DYNSYM (isl_union_map_from_map); \
+ DYNSYM (isl_union_map_get_ctx); \
+ DYNSYM (isl_union_map_get_space); \
+ DYNSYM (isl_union_map_gist_domain); \
+ DYNSYM (isl_union_map_gist_range); \
+ DYNSYM (isl_union_map_intersect_domain); \
+ DYNSYM (isl_union_map_is_empty); \
+ DYNSYM (isl_union_map_subtract); \
+ DYNSYM (isl_union_map_union); \
+ DYNSYM (isl_union_set_add_set); \
+ DYNSYM (isl_union_set_compute_schedule); \
+ DYNSYM (isl_union_set_copy); \
+ DYNSYM (isl_union_set_empty); \
+ DYNSYM (isl_union_set_from_set); \
+ DYNSYM (isl_aff_add_constant_val); \
+ DYNSYM (isl_aff_get_coefficient_val); \
+ DYNSYM (isl_aff_get_ctx); \
+ DYNSYM (isl_aff_mod_val); \
+ DYNSYM (isl_ast_build_ast_from_schedule); \
+ DYNSYM (isl_ast_build_free); \
+ DYNSYM (isl_ast_build_from_context); \
+ DYNSYM (isl_ast_build_get_ctx); \
+ DYNSYM (isl_ast_build_get_schedule); \
+ DYNSYM (isl_ast_build_get_schedule_space); \
+ DYNSYM (isl_ast_build_set_before_each_for); \
+ DYNSYM (isl_ast_build_set_options); \
+ DYNSYM (isl_ast_expr_free); \
+ DYNSYM (isl_ast_expr_from_val); \
+ DYNSYM (isl_ast_expr_get_ctx); \
+ DYNSYM (isl_ast_expr_get_id); \
+ DYNSYM (isl_ast_expr_get_op_arg); \
+ DYNSYM (isl_ast_expr_get_op_n_arg); \
+ DYNSYM (isl_ast_expr_get_op_type); \
+ DYNSYM (isl_ast_expr_get_type); \
+ DYNSYM (isl_ast_expr_get_val); \
+ DYNSYM (isl_ast_expr_sub); \
+ DYNSYM (isl_ast_node_block_get_children); \
+ DYNSYM (isl_ast_node_for_get_body); \
+ DYNSYM (isl_ast_node_for_get_cond); \
+ DYNSYM (isl_ast_node_for_get_inc); \
+ DYNSYM (isl_ast_node_for_get_init); \
+ DYNSYM (isl_ast_node_for_get_iterator); \
+ DYNSYM (isl_ast_node_free); \
+ DYNSYM (isl_ast_node_get_annotation); \
+ DYNSYM (isl_ast_node_get_type); \
+ DYNSYM (isl_ast_node_if_get_cond); \
+ DYNSYM (isl_ast_node_if_get_else); \
+ DYNSYM (isl_ast_node_if_get_then); \
+ DYNSYM (isl_ast_node_list_free); \
+ DYNSYM (isl_ast_node_list_get_ast_node); \
+ DYNSYM (isl_ast_node_list_n_ast_node); \
+ DYNSYM (isl_ast_node_user_get_expr); \
+ DYNSYM (isl_constraint_set_coefficient_val); \
+ DYNSYM (isl_constraint_set_constant_val); \
+ DYNSYM (isl_id_get_user); \
+ DYNSYM (isl_local_space_get_ctx); \
+ DYNSYM (isl_map_fix_val); \
+ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \
+ DYNSYM (isl_printer_print_ast_node); \
+ DYNSYM (isl_printer_print_str); \
+ DYNSYM (isl_printer_set_output_format); \
+ DYNSYM (isl_pw_aff_mod_val); \
+ DYNSYM (isl_schedule_constraints_compute_schedule); \
+ DYNSYM (isl_schedule_constraints_on_domain); \
+ DYNSYM (isl_schedule_constraints_set_coincidence); \
+ DYNSYM (isl_schedule_constraints_set_proximity); \
+ DYNSYM (isl_schedule_constraints_set_validity); \
+ DYNSYM (isl_set_get_dim_id); \
+ DYNSYM (isl_set_max_val); \
+ DYNSYM (isl_set_min_val); \
+ DYNSYM (isl_set_params); \
+ DYNSYM (isl_space_align_params); \
+ DYNSYM (isl_space_map_from_domain_and_range); \
+ DYNSYM (isl_space_set_tuple_name); \
+ DYNSYM (isl_space_wrap); \
+ DYNSYM (isl_union_map_from_domain_and_range); \
+ DYNSYM (isl_union_map_range); \
+ DYNSYM (isl_union_set_union); \
+ DYNSYM (isl_union_set_universe); \
+ DYNSYM (isl_val_2exp); \
+ DYNSYM (isl_val_add_ui); \