aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-04-23 15:30:32 +0000
committerMike Frysinger <vapier@gentoo.org>2015-04-23 15:30:32 +0000
commit8451c889a23218ee63219e17e9280e23c6067453 (patch)
tree681ee1f63a96f9a71fcd1752ffff4f50e5cbf602
parentfix typo in patch header (diff)
downloadgcc-patches-8451c889a23218ee63219e17e9280e23c6067453.tar.gz
gcc-patches-8451c889a23218ee63219e17e9280e23c6067453.tar.bz2
gcc-patches-8451c889a23218ee63219e17e9280e23c6067453.zip
drop graphite-specific dlopen patch in gcc-4.[67] since we dropped support for graphite entirely in these versions (the eclass will always disable it) #448024
-rw-r--r--4.6.0/gentoo/74_all_gcc46_cloog-dl.patch532
-rw-r--r--4.6.0/gentoo/README.history1
-rw-r--r--4.6.1/gentoo/74_all_gcc46_cloog-dl.patch532
-rw-r--r--4.6.1/gentoo/README.history1
-rw-r--r--4.6.2/gentoo/74_all_gcc46_cloog-dl.patch532
-rw-r--r--4.6.2/gentoo/README.history1
-rw-r--r--4.6.3/gentoo/74_all_gcc46_cloog-dl.patch520
-rw-r--r--4.6.3/gentoo/README.history3
-rw-r--r--4.6.4/gentoo/74_all_gcc46_cloog-dl.patch511
-rw-r--r--4.6.4/gentoo/README.history3
-rw-r--r--4.7.0/gentoo/74_all_gcc47_cloog-dl.patch524
-rw-r--r--4.7.0/gentoo/README.history1
-rw-r--r--4.7.1/gentoo/74_all_gcc47_cloog-dl.patch524
-rw-r--r--4.7.1/gentoo/README.history1
-rw-r--r--4.7.2/gentoo/74_all_gcc47_cloog-dl.patch524
-rw-r--r--4.7.2/gentoo/README.history1
-rw-r--r--4.7.3/gentoo/74_all_gcc47_cloog-dl.patch524
-rw-r--r--4.7.3/gentoo/README.history1
-rw-r--r--4.7.4/gentoo/74_all_gcc47_cloog-dl.patch524
-rw-r--r--4.7.4/gentoo/README.history1
20 files changed, 14 insertions, 5247 deletions
diff --git a/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch
deleted file mode 100644
index 21ceb25..0000000
--- a/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch
+++ /dev/null
@@ -1,532 +0,0 @@
-When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx,
-libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning
-this has the unfortunate side effect of making it difficult to switch to a
-previous version of GCC using gcc-config once these libraries have be built
-with the newer version. (http://bugs.gentoo.org/315377#c3)
-
-Instead, dlopen libcloog as necessary. This patch originated in Fedora and
-was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
-
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2011-04-02 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
- * graphite-cloog-compat.h: Add missing symbols.
-
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
-
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -17505,7 +17506,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17508 "configure"
-+#line 17509 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -17611,7 +17612,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17614 "configure"
-+#line 17615 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -26284,6 +26285,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; }
-@@ -26343,7 +26345,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
- tree lb_type, tree ub_type)
- {
-- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
-+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
- struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
- CloogStatement *cs = body->statement;
- poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+extern struct
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.6.0/gentoo/README.history b/4.6.0/gentoo/README.history
index 747b28a..ce96a26 100644
--- a/4.6.0/gentoo/README.history
+++ b/4.6.0/gentoo/README.history
@@ -3,6 +3,7 @@
+ 39_all_cond-store-pr452445.patch
+ 40_all_superh-mieee-default-fix-pr33135.patch
+ 56_all_gcc-ppc-vector-pr48226.patch
+ - 74_all_gcc46_cloog-dl.patch
1.3 27 Sep 2012
+ 05_all_gcc-4.6.x-siginfo.patch
diff --git a/4.6.1/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.1/gentoo/74_all_gcc46_cloog-dl.patch
deleted file mode 100644
index 21ceb25..0000000
--- a/4.6.1/gentoo/74_all_gcc46_cloog-dl.patch
+++ /dev/null
@@ -1,532 +0,0 @@
-When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx,
-libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning
-this has the unfortunate side effect of making it difficult to switch to a
-previous version of GCC using gcc-config once these libraries have be built
-with the newer version. (http://bugs.gentoo.org/315377#c3)
-
-Instead, dlopen libcloog as necessary. This patch originated in Fedora and
-was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
-
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2011-04-02 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
- * graphite-cloog-compat.h: Add missing symbols.
-
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
-
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -17505,7 +17506,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17508 "configure"
-+#line 17509 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -17611,7 +17612,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17614 "configure"
-+#line 17615 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -26284,6 +26285,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; }
-@@ -26343,7 +26345,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
- tree lb_type, tree ub_type)
- {
-- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
-+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
- struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
- CloogStatement *cs = body->statement;
- poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+extern struct
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.6.1/gentoo/README.history b/4.6.1/gentoo/README.history
index 7718ea6..086cf5d 100644
--- a/4.6.1/gentoo/README.history
+++ b/4.6.1/gentoo/README.history
@@ -3,6 +3,7 @@
+ 39_all_cond-store-pr452445.patch
+ 40_all_superh-mieee-default-fix-pr33135.patch
+ 56_all_gcc-ppc-vector-pr48226.patch
+ - 74_all_gcc46_cloog-dl.patch
1.1 27 Sep 2012
+ 05_all_gcc-4.6.x-siginfo.patch
diff --git a/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch
deleted file mode 100644
index 21ceb25..0000000
--- a/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch
+++ /dev/null
@@ -1,532 +0,0 @@
-When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx,
-libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning
-this has the unfortunate side effect of making it difficult to switch to a
-previous version of GCC using gcc-config once these libraries have be built
-with the newer version. (http://bugs.gentoo.org/315377#c3)
-
-Instead, dlopen libcloog as necessary. This patch originated in Fedora and
-was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
-
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2011-04-02 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
- * graphite-cloog-compat.h: Add missing symbols.
-
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
-
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -17505,7 +17506,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17508 "configure"
-+#line 17509 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -17611,7 +17612,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17614 "configure"
-+#line 17615 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -26284,6 +26285,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; }
-@@ -26343,7 +26345,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
- tree lb_type, tree ub_type)
- {
-- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
-+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
- struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
- CloogStatement *cs = body->statement;
- poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+extern struct
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.6.2/gentoo/README.history b/4.6.2/gentoo/README.history
index 9997306..89315dc 100644
--- a/4.6.2/gentoo/README.history
+++ b/4.6.2/gentoo/README.history
@@ -3,6 +3,7 @@
+ 39_all_cond-store-pr452445.patch
+ 40_all_superh-mieee-default-fix-pr33135.patch
+ 56_all_gcc-ppc-vector-pr48226.patch
+ - 74_all_gcc46_cloog-dl.patch
1.5 27 Sep 2012
+ 05_all_gcc-4.6.x-siginfo.patch
diff --git a/4.6.3/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.3/gentoo/74_all_gcc46_cloog-dl.patch
deleted file mode 100644
index 36c40df..0000000
--- a/4.6.3/gentoo/74_all_gcc46_cloog-dl.patch
+++ /dev/null
@@ -1,520 +0,0 @@
-When graphite support is enabled several extra libraries (libppl, libcloog,
-libgmpxx, libstdc++-v3) get linked into cc1. When these libs bump their soname we get
-a completely broken compiler.
-
-Instead, dlopen libcloog as necessary. This patch originated in Fedora and
-was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
-
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2011-04-02 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
- * graphite-cloog-compat.h: Add missing symbols.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3483,6 +3485,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
-
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -4842,7 +4843,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5
- $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; }
-
--if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
-+if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
- have_gnat=yes
- else
- have_gnat=no
-@@ -26282,6 +26283,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; }
-@@ -26341,7 +26343,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4839,11 +4839,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
- tree lb_type, tree ub_type)
- {
-- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
-+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
- struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
- CloogStatement *cs = body->statement;
- poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+extern struct
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.6.3/gentoo/README.history b/4.6.3/gentoo/README.history
index 857fc35..bbaddfb 100644
--- a/4.6.3/gentoo/README.history
+++ b/4.6.3/gentoo/README.history
@@ -1,3 +1,6 @@
+1.14 [pending]
+ - 74_all_gcc46_cloog-dl.patch
+
1.13 19 Apr 2013
+ 30_all_arm_armv4-no-thumb-fix-link.patch
diff --git a/4.6.4/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.4/gentoo/74_all_gcc46_cloog-dl.patch
deleted file mode 100644
index 6703999..0000000
--- a/4.6.4/gentoo/74_all_gcc46_cloog-dl.patch
+++ /dev/null
@@ -1,511 +0,0 @@
-When graphite support is enabled several extra libraries (libppl, libcloog,
-libgmpxx, libstdc++-v3) get linked into cc1. When these libs bump their soname we get
-a completely broken compiler.
-
-Instead, dlopen libcloog as necessary. This patch originated in Fedora and
-was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
-
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2011-04-02 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
- * graphite-cloog-compat.h: Add missing symbols.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -999,6 +999,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1052,7 +1054,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2684,40 +2686,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3499,6 +3501,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
-
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -26318,6 +26319,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; }
-@@ -26377,7 +26379,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4865,11 +4865,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
- tree lb_type, tree ub_type)
- {
-- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
-+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
- struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
- CloogStatement *cs = body->statement;
- poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+extern struct
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history
index 7292e0b..572600d 100644
--- a/4.6.4/gentoo/README.history
+++ b/4.6.4/gentoo/README.history
@@ -1,3 +1,6 @@
+1.3 [pending]
+ - 74_all_gcc46_cloog-dl.patch
+
1.2 29 Mar 2014
+ 85_all_fma-instruction-typo.patch
diff --git a/4.7.0/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.0/gentoo/74_all_gcc47_cloog-dl.patch
deleted file mode 100644
index ee108e3..0000000
--- a/4.7.0/gentoo/74_all_gcc47_cloog-dl.patch
+++ /dev/null
@@ -1,524 +0,0 @@
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2012-05-19 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \
- $(LIBDECNUMBER) $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $< $(OUTPUT_OPTION)
-
-+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))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -27236,6 +27237,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; }
-@@ -27295,7 +27297,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
-+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
- {
- mpz_t bound_one, bound_two;
- tree lb_type, ub_type;
-@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
- mpz_init (bound_one);
- mpz_init (bound_two);
-
-- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
-- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
-+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
-+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
-
- mpz_clear (bound_one);
- mpz_clear (bound_two);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
-+#define DYNSYMS_PPL11
-+#else
-+#define DYNSYMS_PPL11 \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+#endif
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (stmt_ass); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYMS_PPL11
-+extern struct cloog_pointers_s__
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+#endif
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.7.0/gentoo/README.history b/4.7.0/gentoo/README.history
index bc414d6..408e5af 100644
--- a/4.7.0/gentoo/README.history
+++ b/4.7.0/gentoo/README.history
@@ -1,6 +1,7 @@
1.3 [pending]
- 03_all_java-nomulti.patch
+ 40_all_superh-mieee-default-fix-pr33135.patch
+ - 74_all_gcc46_cloog-dl.patch
- 80_all_gcc-4.7-x32-ILP32.patch
- 90_all_gcc-4.7-x32.patch
diff --git a/4.7.1/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.1/gentoo/74_all_gcc47_cloog-dl.patch
deleted file mode 100644
index ee108e3..0000000
--- a/4.7.1/gentoo/74_all_gcc47_cloog-dl.patch
+++ /dev/null
@@ -1,524 +0,0 @@
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2012-05-19 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \
- $(LIBDECNUMBER) $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $< $(OUTPUT_OPTION)
-
-+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))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -27236,6 +27237,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; }
-@@ -27295,7 +27297,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
-+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
- {
- mpz_t bound_one, bound_two;
- tree lb_type, ub_type;
-@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
- mpz_init (bound_one);
- mpz_init (bound_two);
-
-- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
-- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
-+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
-+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
-
- mpz_clear (bound_one);
- mpz_clear (bound_two);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
-+#define DYNSYMS_PPL11
-+#else
-+#define DYNSYMS_PPL11 \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+#endif
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (stmt_ass); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYMS_PPL11
-+extern struct cloog_pointers_s__
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+#endif
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.7.1/gentoo/README.history b/4.7.1/gentoo/README.history
index b4a4be8..dbbc797 100644
--- a/4.7.1/gentoo/README.history
+++ b/4.7.1/gentoo/README.history
@@ -2,6 +2,7 @@
- 03_all_java-nomulti.patch
+ 40_all_superh-mieee-default-fix-pr33135.patch
U 67_all_gcc-poison-system-directories.patch
+ - 74_all_gcc46_cloog-dl.patch
- 90_all_gcc-4.7-x32.patch
1.5 21 Oct 2012
diff --git a/4.7.2/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.2/gentoo/74_all_gcc47_cloog-dl.patch
deleted file mode 100644
index ee108e3..0000000
--- a/4.7.2/gentoo/74_all_gcc47_cloog-dl.patch
+++ /dev/null
@@ -1,524 +0,0 @@
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2012-05-19 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \
- $(LIBDECNUMBER) $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $< $(OUTPUT_OPTION)
-
-+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))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -27236,6 +27237,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; }
-@@ -27295,7 +27297,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
-+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
- {
- mpz_t bound_one, bound_two;
- tree lb_type, ub_type;
-@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
- mpz_init (bound_one);
- mpz_init (bound_two);
-
-- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
-- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
-+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
-+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
-
- mpz_clear (bound_one);
- mpz_clear (bound_two);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
-+#define DYNSYMS_PPL11
-+#else
-+#define DYNSYMS_PPL11 \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+#endif
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (stmt_ass); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYMS_PPL11
-+extern struct cloog_pointers_s__
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+#endif
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.7.2/gentoo/README.history b/4.7.2/gentoo/README.history
index e392d17..c569db2 100644
--- a/4.7.2/gentoo/README.history
+++ b/4.7.2/gentoo/README.history
@@ -1,6 +1,7 @@
1.7 [pending]
+ 18_all_libgcc-cross-canadian.patch
U 67_all_gcc-poison-system-directories.patch
+ - 74_all_gcc46_cloog-dl.patch
- 90_all_gcc-4.7-x32.patch
1.6 19 Apr 2013
diff --git a/4.7.3/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.3/gentoo/74_all_gcc47_cloog-dl.patch
deleted file mode 100644
index ee108e3..0000000
--- a/4.7.3/gentoo/74_all_gcc47_cloog-dl.patch
+++ /dev/null
@@ -1,524 +0,0 @@
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2012-05-19 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \
- $(LIBDECNUMBER) $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $< $(OUTPUT_OPTION)
-
-+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))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -27236,6 +27237,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; }
-@@ -27295,7 +27297,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
-+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
- {
- mpz_t bound_one, bound_two;
- tree lb_type, ub_type;
-@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
- mpz_init (bound_one);
- mpz_init (bound_two);
-
-- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
-- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
-+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
-+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
-
- mpz_clear (bound_one);
- mpz_clear (bound_two);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
-+#define DYNSYMS_PPL11
-+#else
-+#define DYNSYMS_PPL11 \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+#endif
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (stmt_ass); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYMS_PPL11
-+extern struct cloog_pointers_s__
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+#endif
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.7.3/gentoo/README.history b/4.7.3/gentoo/README.history
index 4670d77..a2bc195 100644
--- a/4.7.3/gentoo/README.history
+++ b/4.7.3/gentoo/README.history
@@ -1,4 +1,5 @@
1.6 [pending]
+ - 74_all_gcc46_cloog-dl.patch
- 90_all_gcc-4.7-x32.patch
1.5 01 Oct 2014
diff --git a/4.7.4/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.4/gentoo/74_all_gcc47_cloog-dl.patch
deleted file mode 100644
index ee108e3..0000000
--- a/4.7.4/gentoo/74_all_gcc47_cloog-dl.patch
+++ /dev/null
@@ -1,524 +0,0 @@
-2011-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of
- -lcloog -lppl.
- (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
- (graphite*.o): Adjust dependencies.
- * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
- libppl symbols through pointers in cloog_pointers__ variable.
- * graphite.c (init_cloog_pointers): New function.
- (graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
- stmt_for argument to stmt_fora.
- * graphite-poly.h: Include graphite-cloog-util.h.
-
-2012-05-19 Ryan Hill <dirtyepic@gentoo.org>
-
- * configure.ac (DL_LIB): Check how to dlopen.
- * configure: Regenerate.
- * Makefile.in (BACKENDLIBS): Use DL_LIB.
-
-
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
- PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
- PLUGIN_VERSION_H = plugin-version.h configargs.h
- LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
-+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
-+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-
- #
- # Now figure out from those variables how to compile and link.
-@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \
- $(LIBDECNUMBER) $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
- $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
- graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
-+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
- graphite-clast-to-gimple.h graphite-sese-to-poly.h
- graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
-+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
- graphite-dependences.h graphite-cloog-compat.h
- graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
-+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
- graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-- graphite-cloog-util.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
-+ $(GRAPHITE_CLOOG_UTIL_H)
- graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-- sese.h graphite-ppl.h graphite-poly.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
- graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-- graphite-dependences.h graphite-cloog-util.h
-+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
-+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
- graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-- graphite-cloog-util.h graphite-ppl.h
-+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
- graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
-+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
- graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
- $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
-+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
- graphite-sese-to-poly.h
- tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $< $(OUTPUT_OPTION)
-
-+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))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
- LIBOBJS
- enable_plugin
- pluginlibs
-+DL_LIB
- CLOOGINC
- CLOOGLIBS
- PPLINC
-@@ -27236,6 +27237,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; }
-@@ -27295,7 +27297,9 @@ fi
-
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then
- fi
-
- # Check -ldl
-+ DL_LIB=
- saved_LIBS="$LIBS"
- AC_SEARCH_LIBS([dlopen], [dl])
- if test x"$ac_cv_search_dlopen" = x"-ldl"; then
- pluginlibs="$pluginlibs -ldl"
-+ DL_LIB=$ac_cv_search_dlopen
- fi
-+ AC_SUBST(DL_LIB)
- LIBS="$saved_LIBS"
-
- # Check that we can build shared objects with -fPIC -shared
---- a/gcc/graphite-clast-to-gimple.c
-+++ b/gcc/graphite-clast-to-gimple.c
-@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
- from STMT_FOR. */
-
- static tree
--type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
-+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
- {
- mpz_t bound_one, bound_two;
- tree lb_type, ub_type;
-@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
- mpz_init (bound_one);
- mpz_init (bound_two);
-
-- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
-- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
-+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
-+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
-
- mpz_clear (bound_one);
- mpz_clear (bound_two);
---- a/gcc/graphite-cloog-compat.h
-+++ b/gcc/graphite-cloog-compat.h
-@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
- return m->NbRows;
- }
- #endif /* CLOOG_ORG */
-+
-+#include <dlfcn.h>
-+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
-+#define DYNSYMS_PPL11
-+#else
-+#define DYNSYMS_PPL11 \
-+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \
-+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \
-+ DYNSYM (ppl_delete_PIP_Problem);
-+#endif
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (cloog_domain_union); \
-+ DYNSYM (cloog_matrix_read); \
-+ DYNSYM (cloog_new_pol); \
-+ DYNSYM (cloog_vector_gcd); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_Coefficient_to_mpz_t); \
-+ DYNSYM (ppl_Constraint_coefficient); \
-+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
-+ DYNSYM (ppl_Constraint_space_dimension); \
-+ DYNSYM (ppl_Constraint_System_begin); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
-+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
-+ DYNSYM (ppl_Constraint_System_end); \
-+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
-+ DYNSYM (ppl_Constraint_System_space_dimension); \
-+ DYNSYM (ppl_Constraint_type); \
-+ DYNSYM (ppl_delete_Coefficient); \
-+ DYNSYM (ppl_delete_Constraint); \
-+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_delete_Linear_Expression); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_delete_Polyhedron); \
-+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
-+ DYNSYM (ppl_Linear_Expression_coefficient); \
-+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
-+ DYNSYM (ppl_Linear_Expression_space_dimension); \
-+ DYNSYM (ppl_new_Coefficient); \
-+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
-+ DYNSYM (ppl_new_Constraint); \
-+ DYNSYM (ppl_new_Constraint_System); \
-+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
-+ DYNSYM (ppl_new_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
-+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
-+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
-+ DYNSYM (ppl_Polyhedron_add_constraint); \
-+ DYNSYM (ppl_Polyhedron_add_constraints); \
-+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
-+ DYNSYM (ppl_Polyhedron_get_constraints); \
-+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
-+ DYNSYM (ppl_Polyhedron_space_dimension); \
-+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user); \
-+ DYNSYM (stmt_ass); \
-+ DYNSYM (ppl_delete_Constraint_System); \
-+ DYNSYM (ppl_initialize); \
-+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
-+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
-+ DYNSYM (ppl_Polyhedron_affine_image); \
-+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
-+ DYNSYMS_PPL11
-+extern struct cloog_pointers_s__
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers__;
-+
-+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
-+#ifndef CLOOG_ORG
-+#undef cloog_loop_malloc
-+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
-+#else
-+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
-+#endif
-+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
-+#ifndef CLOOG_ORG
-+#undef cloog_options_malloc
-+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
-+#undef cloog_program_dump_cloog
-+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
-+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
-+#undef cloog_program_extract_scalars
-+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
-+#else
-+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
-+#endif
-+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
-+#ifndef CLOOG_ORG
-+#undef cloog_program_scatter
-+#define cloog_program_scatter(PROG, SCATT, OPT) \
-+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
-+#undef cloog_statement_alloc
-+#define cloog_statement_alloc(STATE, INDEX) \
-+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
-+#else
-+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
-+#endif
-+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
-+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
-+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
-+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
-+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
-+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
-+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
-+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
-+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
-+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
-+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
-+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
-+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
-+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
-+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
-+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
-+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
-+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
-+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
-+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
-+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
-+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
-+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
-+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
-+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
-+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
-+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
-+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
-+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
-+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
-+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
-+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
-+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
-+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
-+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
-+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
-+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
-+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
-+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
-+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
-+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
-+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
-+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
-+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
-+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
-+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
-+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
-+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
-+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
-+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
-+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
-+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
-+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
-+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
-+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
-+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
-+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
-+#define pprint (*cloog_pointers__.p_pprint)
-+#define stmt_block (*cloog_pointers__.p_stmt_block)
-+#define stmt_for (*cloog_pointers__.p_stmt_for)
-+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
-+#define stmt_root (*cloog_pointers__.p_stmt_root)
-+#define stmt_user (*cloog_pointers__.p_stmt_user)
-+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
-+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
-+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
-+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
-+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
-+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
-+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11)
-+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
-+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
-+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
-+#endif
-+
-+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
-+
-+
- #endif /* GRAPHITE_CLOOG_COMPAT_H */
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
- #ifndef GCC_GRAPHITE_POLY_H
- #define GCC_GRAPHITE_POLY_H
-
-+#include "graphite-cloog-util.h"
-+
- typedef struct poly_dr *poly_dr_p;
- DEF_VEC_P(poly_dr_p);
- DEF_VEC_ALLOC_P (poly_dr_p, heap);
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
-
- CloogState *cloog_state;
-
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -201,6 +230,12 @@ graphite_initialize (void)
- return false;
- }
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
-+
- scev_reset ();
- recompute_all_dominators ();
- initialize_original_copy_tables ();
diff --git a/4.7.4/gentoo/README.history b/4.7.4/gentoo/README.history
index 02888bd..1825f89 100644
--- a/4.7.4/gentoo/README.history
+++ b/4.7.4/gentoo/README.history
@@ -1,4 +1,5 @@
1.3 [pending]
+ - 74_all_gcc46_cloog-dl.patch
- 90_all_gcc-4.7-x32.patch
1.2 29 Sep 2014