diff --git a/gcc.spec b/gcc.spec index 51a5a24..bb328ad 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20201016 -%global gitrev b55a9d01144097312b48281486c03e83cf03fde5 -%global gcc_version 10.2.1 -%global gcc_major 10 +%global DATE 20201019 +%global gitrev 6e9eb3e01f683e4b1b40018476c72bed7a9a35f7 +%global gcc_version 11.0.0 +%global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 6 +%global gcc_release 0 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -119,7 +119,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}%{?dist} +Release: %{gcc_release}.2%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -256,22 +256,19 @@ AutoReq: true Provides: bundled(libiberty) Provides: gcc(major) = %{gcc_major} -Patch0: gcc10-hack.patch -Patch1: gcc10-i386-libgomp.patch -Patch2: gcc10-sparc-config-detection.patch -Patch3: gcc10-libgomp-omp_h-multilib.patch -Patch4: gcc10-libtool-no-rpath.patch -Patch5: gcc10-isl-dl.patch -Patch6: gcc10-libstdc++-docs.patch -Patch7: gcc10-no-add-needed.patch -Patch8: gcc10-foffload-default.patch -Patch9: gcc10-Wno-format-security.patch -Patch10: gcc10-rh1574936.patch -Patch11: gcc10-d-shared-libphobos.patch -Patch12: gcc10-pr96383.patch -Patch13: gcc10-pr96939.patch -Patch14: gcc10-pr96939-2.patch -Patch15: gcc10-pr96939-3.patch +Patch0: gcc11-hack.patch +Patch1: gcc11-i386-libgomp.patch +Patch2: gcc11-sparc-config-detection.patch +Patch3: gcc11-libgomp-omp_h-multilib.patch +Patch4: gcc11-libtool-no-rpath.patch +Patch5: gcc11-isl-dl.patch +Patch6: gcc11-libstdc++-docs.patch +Patch7: gcc11-no-add-needed.patch +Patch8: gcc11-foffload-default.patch +Patch9: gcc11-Wno-format-security.patch +Patch10: gcc11-rh1574936.patch +Patch11: gcc11-d-shared-libphobos.patch +Patch12: gcc11-plugins.patch # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. @@ -293,7 +290,7 @@ Patch15: gcc10-pr96939-3.patch %if %{build_go} # Avoid stripping these libraries and binaries. %global __os_install_post \ -chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.16.* \ +chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.17.* \ chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \ chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \ chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \ @@ -301,7 +298,7 @@ chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \ chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \ %__os_install_post \ -chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.16.* \ +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.17.* \ chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \ chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \ chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \ @@ -312,11 +309,11 @@ chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %endif %description -The gcc package contains the GNU Compiler Collection version 10. +The gcc package contains the GNU Compiler Collection version 11. You'll need this package in order to compile C code. %package -n libgcc -Summary: GCC version 10 shared support library +Summary: GCC version 11 shared support library Autoreq: false %if !%{build_ada} Obsoletes: libgnat < %{version}-%{release} @@ -783,11 +780,7 @@ to NVidia PTX capable devices if available. %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ -%patch12 -p0 -b .pr96383~ -%patch13 -p0 -b .pr96939~ -%patch14 -p0 -b .pr96939-2~ -%patch15 -p0 -b .pr96939-3~ -find gcc/testsuite -name \*.pr96939~ | xargs rm -f +%patch12 -p0 -b .plugins~ echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE @@ -1384,7 +1377,7 @@ ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../libgfortran.so.5.* libgfortran.so ln -sf ../../../libgomp.so.1.* libgomp.so %if %{build_go} -ln -sf ../../../libgo.so.16.* libgo.so +ln -sf ../../../libgo.so.17.* libgo.so %endif %if %{build_libquadmath} ln -sf ../../../libquadmath.so.0.* libquadmath.so @@ -1414,7 +1407,7 @@ ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so %if %{build_go} -ln -sf ../../../../%{_lib}/libgo.so.16.* libgo.so +ln -sf ../../../../%{_lib}/libgo.so.17.* libgo.so %endif %if %{build_libquadmath} ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so @@ -1534,8 +1527,8 @@ ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/li ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so %if %{build_go} rm -f libgo.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.16.* | sed 's,^.*libg,libg,'`' )' > libgo.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.16.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > libgo.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so %endif %if %{build_libquadmath} rm -f libquadmath.so @@ -1633,8 +1626,8 @@ ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/l ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so %if %{build_go} rm -f libgo.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.16.* | sed 's,^.*libg,libg,'`' )' > libgo.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.16.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > libgo.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so %endif %if %{build_libquadmath} rm -f libquadmath.so @@ -1821,7 +1814,7 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.* %endif %if %{build_go} # Avoid stripping these libraries and binaries. -chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.16.* +chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.17.* chmod 644 %{buildroot}%{_prefix}/bin/go.gcc chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo @@ -2186,6 +2179,14 @@ end %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/serializeintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tsxldtrkintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxtileintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxint8intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxbf16intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/uintrintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/hresetintrin.h %endif %ifarch ia64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h @@ -2946,7 +2947,7 @@ end %doc rpm.doc/go/* %files -n libgo -%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.16* +%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.17* %doc rpm.doc/libgo/* %files -n libgo-devel @@ -3054,416 +3055,5 @@ end %endif %changelog -* Fri Oct 16 2020 Jakub Jelinek 10.2.1-6 -- update from releases/gcc-10 branch - - PRs c++/88115, c++/96229, fortran/97272, libstdc++/95788, libstdc++/97273, - lto/97290, middle-end/95189, middle-end/95886, rtl-optimization/97313, - target/96313, target/96456, target/97150, target/97251, target/97302, - target/97349, tree-optimization/97236, tree-optimization/97255, - tree-optimization/97357 - - fix ICE on building Firefox with LTO+PGO (#1886399, PR ipa/97295) - -* Mon Oct 5 2020 Jakub Jelinek 10.2.1-5 -- update from releases/gcc-10 branch - - PRs bootstrap/97163, bootstrap/97183, c++/96994, c++/97145, c++/97195, - fortran/93423, fortran/95614, fortran/96041, gcov-profile/64636, - gcov-profile/96913, gcov-profile/97069, gcov-profile/97193, - libstdc++/94160, libstdc++/94681, libstdc++/96803, libstdc++/97101, - libstdc++/97167, middle-end/95464, middle-end/97054, middle-end/97073, - preprocessor/96935, target/71233, target/96683, target/96795, - target/96827, target/97166, target/97184, target/97231, target/97247, - tree-optimization/96979, tree-optimization/97053 - -* Wed Sep 16 2020 Jakub Jelinek 10.2.1-4 -- update from releases/gcc-10 branch - - PRs bootstrap/96203, c++/95164, c++/96862, c++/96901, d/96157, d/96924, - debug/93865, debug/94235, debug/96729, fortran/94690, fortran/95109, - fortran/95398, fortran/95882, fortran/96859, libstdc++/71960, - libstdc++/92978, libstdc++/96766, libstdc++/96851, lto/94311, - middle-end/87256, middle-end/96369, target/85830, target/94538, - target/96357, target/96551, target/96574, target/96744, target/96808, - target/97028, tree-optimization/88240, tree-optimization/96349, - tree-optimization/96370, tree-optimization/96514, - tree-optimization/96522, tree-optimization/96579, - tree-optimization/96597, tree-optimization/96820, - tree-optimization/96854, tree-optimization/97043 -- fix up ARM target attribute/pragma handling (#1875814, PR target/96939) -- don't ICE on sp clobbers with -mincoming-stack-boundary=2 on ia32 - (#1862029, PR target/97032) - -* Wed Aug 26 2020 Jakub Jelinek 10.2.1-3 -- update from releases/gcc-10 branch - - PRs c++/95428, c++/96082, c++/96106, c++/96164, c++/96199, c++/96497, - c/96545, c/96549, c/96571, d/96250, d/96254, d/96301, debug/96354, - fortran/93553, fortran/96312, fortran/96486, ipa/95320, ipa/96291, - ipa/96482, libstdc++/89760, libstdc++/95749, libstdc++/96303, - libstdc++/96484, libstdc++/96718, lto/95362, lto/95548, - middle-end/96426, middle-end/96459, target/93897, target/95450, - target/96191, target/96243, target/96446, target/96493, target/96506, - target/96525, target/96530, target/96536, target/96562, target/96682, - tree-optimization/96483, tree-optimization/96535, - tree-optimization/96722, tree-optimization/96730, - tree-optimization/96758 -- mangle some further symbols needed for debug info during early dwarf - (#1862029, PR debug/96690) -- during %%check perform tests whether annobin is usable with the newly built - compiler or whether it might need to be rebuilt -- disable graphite for ELN - -* Tue Aug 4 2020 Jakub Jelinek 10.2.1-2 -- update from releases/gcc-10 branch - - PRs c++/95591, c++/95599, c++/95823, c++/95824, c++/95895, c/96377, - d/96140, fortran/89574, fortran/93567, fortran/93592, fortran/95585, - fortran/95612, fortran/95980, fortran/96018, fortran/96086, - fortran/96220, fortran/96319, lto/45375, middle-end/96335, - target/95435, target/96190, target/96236, target/96260, target/96402, - tree-optimization/96058 -- emit debug info for C/C++ external function declarations used in the TU - (PR debug/96383) -- discard SHN_UNDEF global symbols from LTO debuginfo (PR lto/96385) -- strip also -flto=auto from optflags - -* Thu Jul 23 2020 Jakub Jelinek 10.2.1-1 -- update from releases/gcc-10 branch - - GCC 10.2 release - - PRs bootstrap/94998, c++/90916, c++/95477, c++/95505, c++/95518, - c++/95519, c++/95711, c++/95719, c++/95736, c++/95789, c++/95813, - c++/95976, c++/96052, c++/96063, c++/96077, c++/96104, c++/96105, - c++/96179, c/95141, d/95173, d/95250, debug/95343, fortran/71706, - fortran/88379, fortran/93337, fortran/95340, fortran/95366, - fortran/95587, fortran/95687, fortran/95688, fortran/95689, - fortran/95707, fortran/95708, fortran/95709, fortran/95743, - fortran/95812, fortran/95826, fortran/95827, fortran/95828, - fortran/95829, fortran/95880, fortran/95881, fortran/95978, - ipa/12345, ipa/93223, ipa/96040, ipa/96130, libstdc++/91153, - libstdc++/91807, libstdc++/94087, libstdc++/94627, libstdc++/94936, - libstdc++/95282, libstdc++/95851, libstdc++/95915, lto/91576, - lto/95604, middle-end/94600, middle-end/94964, middle-end/95114, - middle-end/95118, middle-end/95270, middle-end/95493, - middle-end/95690, middle-end/95810, middle-end/95903, - middle-end/96194, target/12345, target/93224, target/93492, - target/94791, target/94891, target/95018, target/95105, target/95347, - target/95581, target/95683, target/95713, target/95726, target/95874, - target/96001, target/96125, target/96174, testsuite/96180, - tree-optimization/90838, tree-optimization/94969, - tree-optimization/95049, tree-optimization/95110, - tree-optimization/95133, tree-optimization/95308, - tree-optimization/95487, tree-optimization/95638, - tree-optimization/95717, tree-optimization/95804, - tree-optimization/95857, tree-optimization/96075, - tree-optimization/96133, tree-optimization/96146 - - disable s390x multilibs also for ELN - - disable -flto in %%{optflags}, lto bootstrap will be enabled the GCC way - later - -* Thu Jun 18 2020 Jakub Jelinek 10.1.1-2 -- update from releases/gcc-10 branch - - PRs c++/90212, c++/90479, c++/90915, c++/91529, c++/92103, c++/92633, - c++/92652, c++/92838, c++/93310, c++/93467, c++/93698, c++/93822, - c++/94128, c++/94817, c++/94829, c++/94885, c++/94937, c++/94955, - c++/95003, c++/95020, c++/95050, c++/95066, c++/95087, c++/95137, - c++/95158, c++/95181, c++/95197, c++/95222, c++/95241, c++/95319, - c++/95328, c++/95344, c++/95345, c++/95346, c++/95350, c++/95371, - c++/95386, c++/95440, c++/95508, c++/95560, c++/95562, c/95040, - c/95580, d/94970, d/95166, d/95167, d/95168, debug/95080, - fortran/39695, fortran/50392, fortran/59107, fortran/92993, - fortran/93366, fortran/93497, fortran/94109, fortran/94361, - fortran/94397, fortran/94672, fortran/95088, fortran/95090, - fortran/95091, fortran/95106, fortran/95373, fortran/95500, - fortran/95503, fortran/95530, fortran/95537, fortran/95544, - fortran/95611, gcov-profile/95332, ipa/94947, ipa/95113, - libfortran/95104, libfortran/95119, libfortran/95191, - libfortran/95390, libgomp/92854, libstdc++/77691, libstdc++/92894, - libstdc++/93983, libstdc++/94906, libstdc++/94933, libstdc++/95289, - libstdc++/95322, libstdc++/95578, lto/94848, lto/95190, - middle-end/94940, middle-end/95108, middle-end/95551, - middle-end/95622, sanitizer/94910, sanitizer/95634, target/91695, - target/94591, target/94735, target/94959, target/95169, target/95212, - target/95220, target/95255, target/95258, target/95355, target/95420, - target/95525, target/95528, testsuite/95361, testsuite/95575, - web/95380 -- correct instructions for creation of newlib tarball, filter out sun-rpc - licensed code that is never used during the package build - -* Mon May 11 2020 Tom Stellard -- add symlink to liblto_plugin.so in /usr/lib/bfd-plugins - -* Thu May 7 2020 Jakub Jelinek 10.1.1-1 -- update from releases/gcc-10 branch - - GCC 10.1.0 release - - PRs bootstrap/94918, c++/94907, c++/94938, c++/94946, c++/94951, c/94842, - c/94968, libstdc++/94901, middle-end/94941, rtl-optimization/94873, - target/94942, target/94950 - -* Sat May 2 2020 Jakub Jelinek 10.0.1-0.14 -- use libgcc_s.so linker script also on aarch64 and riscv64 (#1830472) - -* Fri May 1 2020 Jakub Jelinek 10.0.1-0.13 -- update from trunk and releases/gcc-10 branch - - GCC 10.1-rc1 - - PRs analyzer/94447, analyzer/94639, analyzer/94732, analyzer/94754, - analyzer/94816, bootstrap/94739, c++/79585, c++/90320, c++/90448, - c++/90750, c++/93807, c++/94288, c++/94383, c++/94505, c++/94510, - c++/94546, c++/94549, c++/94583, c++/94592, c++/94597, c++/94628, - c++/94645, c++/94661, c++/94682, c++/94701, c++/94719, c++/94733, - c++/94742, c++/94752, c++/94759, c++/94760, c++/94772, c++/94775, - c++/94808, c++/94819, c++/94827, c++/94830, c++/94879, c++/94883, - c++/94886, c/94641, c/94686, c/94705, c/94755, d/89418, d/94777, - d/94825, demangler/94797, driver/90983, fortran/90350, fortran/93956, - fortran/94578, fortran/94709, fortran/94737, fortran/94769, - fortran/94788, ipa/94856, libfortran/25830, libfortran/94586, - libfortran/94694, libstdc++/89510, libstdc++/90415, libstdc++/91480, - libstdc++/92156, libstdc++/94831, libstdc++/94854, lto/94659, - lto/94822, middle-end/92830, middle-end/93488, middle-end/94647, - middle-end/94724, rtl-optimization/94708, rtl-optimization/94740, - target/57002, target/91518, target/92713, target/93654, target/94248, - target/94279, target/94282, target/94383, target/94514, target/94515, - target/94577, target/94613, target/94622, target/94668, target/94678, - target/94697, target/94704, target/94706, target/94707, target/94710, - target/94711, target/94748, target/94780, target/94812, target/94820, - target/94826, target/94832, testsuite/94712, translation/94698, - tree-optimization/89430, tree-optimization/94683, - tree-optimization/94700, tree-optimization/94717, - tree-optimization/94727, tree-optimization/94734, - tree-optimization/94774, tree-optimization/94784, - tree-optimization/94809 - -* Mon Apr 20 2020 Jakub Jelinek 10.0.1-0.12 -- update from trunk - - PRs analyzer/94378, bootstrap/89494, bootstrap/92008, c++/67825, - c++/79937, c++/85278, c++/86327, c++/88754, c++/90711, c++/90996, - c++/91377, c++/91966, c++/92010, c++/92187, c++/92878, c++/93207, - c++/93211, c++/93790, c++/94034, c++/94149, c++/94155, c++/94205, - c++/94219, c++/94252, c++/94306, c++/94314, c++/94325, c++/94359, - c++/94385, c++/94426, c++/94453, c++/94454, c++/94462, c++/94470, - c++/94475, c++/94477, c++/94478, c++/94480, c++/94481, c++/94483, - c++/94507, c++/94512, c++/94521, c++/94523, c++/94528, c++/94571, - c++/94588, c++/94608, c++/94632, c/92326, c/94392, c/94593, d/90136, - d/94304, d/94305, d/94315, d/94321, d/94424, d/94425, d/94609, - debug/94439, debug/94441, debug/94450, debug/94459, debug/94495, - driver/94381, fortran/57129, fortran/85982, fortran/87644, - fortran/87923, fortran/91800, fortran/93364, fortran/93498, - fortran/93500, fortran/93522, fortran/93686, fortran/93871, - fortran/94030, fortran/94090, fortran/94091, fortran/94192, - fortran/94246, fortran/94347, fortran/94348, fortran/94386, - gcov-profile/93401, gcov-profile/94570, go/94607, ipa/92676, - ipa/93621, ipa/93940, ipa/94363, ipa/94434, ipa/94445, ipa/94582, - libgcc/94513, libgomp/92843, libstdc++/93960, libstdc++/94498, - libstdc++/94520, libstdc++/94562, libstdc++/94565, lto/94612, - middle-end/89433, middle-end/93465, middle-end/94412, - middle-end/94423, middle-end/94436, middle-end/94465, - middle-end/94479, middle-end/94526, middle-end/94539, - middle-end/94614, middle-end/94635, objc/94637, other/94629, - rtl-optimization/84169, rtl-optimization/87716, - rtl-optimization/93946, rtl-optimization/93974, - rtl-optimization/94123, rtl-optimization/94291, - rtl-optimization/94344, rtl-optimization/94468, - rtl-optimization/94516, rtl-optimization/94605, - rtl-optimization/94618, target/93053, target/94317, target/94368, - target/94396, target/94417, target/94420, target/94435, target/94438, - target/94460, target/94467, target/94488, target/94494, target/94500, - target/94509, target/94530, target/94542, target/94551, target/94556, - target/94561, target/94567, target/94584, target/94603, target/94606, - testsuite/93369, testsuite/94079, testsuite/94402, testsuite/94533, - tree-optimization/89713, tree-optimization/91322, - tree-optimization/93674, tree-optimization/94043, - tree-optimization/94398, tree-optimization/94401, - tree-optimization/94403, tree-optimization/94443, - tree-optimization/94482, tree-optimization/94524, - tree-optimization/94573, tree-optimization/94574, - tree-optimization/94598, tree-optimization/94621 - -* Sat Mar 28 2020 Jakub Jelinek 10.0.1-0.11 -- update from trunk - - PRs c++/81349, c++/84733, c++/93810, c++/93824, c++/94057, c++/94078, - c++/94098, c++/94257, c++/94265, c++/94272, c++/94319, c++/94326, - c++/94336, c++/94339, c++/94346, c/93573, debug/94273, debug/94281, - debug/94296, debug/94323, fortran/93363, fortran/93957, ipa/94271, - lto/94259, middle-end/94004, rtl-optimization/92264, target/94145, - target/94220, target/94292, testsuite/94334, tree-optimization/90332, - tree-optimization/94131, tree-optimization/94269, - tree-optimization/94329, tree-optimization/94352 -- fix x86 vec_extract_{lo,hi}*_mask AVX512* patterns (PR target/93069) -- fix x86 *one_cmpl*2* AVX512* patterns (PR target/94343) -- add BuildRequires: libzstd-devel - -* Wed Mar 25 2020 Jakub Jelinek 10.0.1-0.10 -- update from trunk - - PRs analyzer/94047, analyzer/94099, analyzer/94105, c++/67960, c++/69694, - c++/90995, c++/91759, c++/91993, c++/92068, c++/92909, c++/93248, - c++/93596, c++/93805, c++/93931, c++/94044, c++/94066, c++/94147, - c++/94175, c++/94186, c++/94190, c++/94197, c++/94223, c/94040, - c/94172, c/94179, c/94239, d/92216, d/92309, d/92792, d/93038, - d/94240, debug/93751, debug/94167, debug/94277, debug/94280, - debug/94283, debug/94285, fortran/93365, fortran/93484, fortran/93600, - gcov-profile/94029, ipa/92372, ipa/92799, ipa/93347, ipa/94202, - ipa/94217, ipa/94232, ipa/94245, ipa/94250, libgomp/81689, - libgomp/94251, libstdc++/93245, libstdc++/94033, libstdc++/94199, - libstdc++/94203, libstdc++/94242, lto/91027, lto/94157, lto/94249, - middle-end/92071, middle-end/93566, middle-end/94072, - middle-end/94120, middle-end/94188, middle-end/94189, - middle-end/94206, middle-end/94216, middle-end/94233, - middle-end/94303, rtl-optimization/90275, rtl-optimization/92303, - rtl-optimization/94042, rtl-optimization/94052, - rtl-optimization/94119, rtl-optimization/94148, target/92379, - target/93694, target/94052, target/94144, target/94154, target/94176, - target/94185, target/94201, target/94238, target/94286, - testsuite/93935, tree-optimization/93435, tree-optimization/94103, - tree-optimization/94125, tree-optimization/94163, - tree-optimization/94166, tree-optimization/94187, - tree-optimization/94211, tree-optimization/94224, - tree-optimization/94261, tree-optimization/94266, - tree-optimization/94300 -- fix ICE in final_scan_insn_1 on i686 with vzeroupper (#1816760, - PR target/94308) -- fix ppc64* hang with dfp (PR target/94254) - -* Wed Mar 11 2020 Jakub Jelinek 10.0.1-0.9 -- update from trunk - - PRs ada/91100, analyzer/93032, analyzer/93388, analyzer/93692, - analyzer/93774, analyzer/93775, analyzer/93777, analyzer/93778, - analyzer/93779, analyzer/93899, analyzer/93947, analyzer/93950, - analyzer/93959, analyzer/93993, analyzer/94028, bootstrap/93962, - c++/52320, c++/66139, c++/90432, c++/90467, c++/90505, c++/90938, - c++/91465, c++/92031, c++/92721, c++/93169, c++/93676, c++/93712, - c++/93729, c++/93789, c++/93801, c++/93803, c++/93804, c++/93817, - c++/93862, c++/93869, c++/93870, c++/93882, c++/93901, c++/93905, - c++/93907, c++/93922, c++/93933, c++/93956, c++/93958, c++/93998, - c++/94027, c++/94041, c++/94068, c++/94074, c++/94117, c++/94124, - c/86134, c/93577, c/93812, c/93858, c/93886, c/93887, c/93949, - debug/93888, driver/47785, driver/93796, fortran/92785, fortran/92959, - fortran/92976, fortran/93486, fortran/93552, fortran/93580, - fortran/93581, fortran/93599, fortran/93601, fortran/93603, - fortran/93604, fortran/93714, fortran/93792, fortran/93825, - fortran/93835, fortran/93889, fortran/93890, gcov-profile/93753, - inline-asm/94095, ipa/92518, ipa/92548, ipa/92924, ipa/93583, - ipa/93707, ipa/93760, ipa/93797, libstdc++/92546, libstdc++/93244, - libstdc++/93818, libstdc++/93872, libstdc++/93884, libstdc++/93936, - libstdc++/93972, libstdc++/93978, libstdc++/94013, libstdc++/94017, - libstdc++/94051, libstdc++/94063, libstdc++/94069, lto/78353, - middle-end/81401, middle-end/92152, middle-end/93399, - middle-end/93829, middle-end/93843, middle-end/93874, - middle-end/93926, middle-end/93961, middle-end/94111, other/55930, - other/93756, other/93912, other/93965, rtl-optimization/93564, - rtl-optimization/93996, rtl-optimization/94002, - rtl-optimization/94045, rtl-optimization/PR92989, sanitizer/93731, - target/26877, target/87560, target/87612, target/89229, target/89346, - target/90311, target/90763, target/91276, target/91598, target/93047, - target/93658, target/93709, target/93743, target/93800, target/93828, - target/93860, target/93913, target/93932, target/93937, target/93995, - target/93997, target/94046, target/94065, target/94088, target/94121, - target/94134, testsuite/91797, testsuite/91799, testsuite/94019, - testsuite/94023, translation/93755, translation/93759, - translation/93830, translation/93831, translation/93838, - translation/93841, translation/93864, tree-optimization/90883, - tree-optimization/91890, tree-optimization/92128, - tree-optimization/92982, tree-optimization/93508, - tree-optimization/93586, tree-optimization/93667, - tree-optimization/93767, tree-optimization/93776, - tree-optimization/93780, tree-optimization/93820, - tree-optimization/93845, tree-optimization/93868, - tree-optimization/93927, tree-optimization/93945, - tree-optimization/93946, tree-optimization/93953, - tree-optimization/93964, tree-optimization/93986, - tree-optimization/94001, tree-optimization/94114 - - fix ICE on rotate with -Wconversion (#1810941, PR c++/94067) - - fix -fcf-protection -flto -g interaction (#1808484, PR lto/93966) - - fix git miscompilation on s390x with -O2 -march=zEC12 -mtune=z13 - (#1799408, PR rtl-optimization/93908) - - fix ICE in in propagate_vals_across_arith_jfunc (#1806466, PR ipa/93763) - - ARM ABI alignment fix for classes derived from user aligned empty - bases (PR c++/94050) -- strlen pass fixes (PR tree-optimization/94015) -- fix {memset,memcpy,memmove,strncpy} head trimming if the result is used - (PR tree-optimization/94130) -- drop python2-devel Requires - -* Sun Feb 16 2020 Jakub Jelinek 10.0.1-0.8 -- update from trunk - - PRs analyzer/93212, analyzer/93288, analyzer/93350, analyzer/93356, - analyzer/93373, analyzer/93374, analyzer/93379, analyzer/93405, - analyzer/93438, analyzer/93457, analyzer/93543, analyzer/93544, - analyzer/93546, analyzer/93547, analyzer/93647, analyzer/93649, - analyzer/93657, analyzer/93659, analyzer/93669, c++/14179, c++/61414, - c++/66477, c++/69448, c++/80471, c++/86216, c++/86917, c++/88256, - c++/88819, c++/89404, c++/90691, c++/90951, c++/91953, c++/92003, - c++/92517, c++/92556, c++/92583, c++/92593, c++/92654, c++/92717, - c++/92947, c++/93140, c++/93458, c++/93530, c++/93549, c++/93551, - c++/93557, c++/93559, c++/93597, c++/93618, c++/93633, c++/93643, - c++/93650, c++/93675, c++/93684, c++/93710, c++/93713, c/87488, - c/88660, c/93576, c/93640, fortran/83113, fortran/92305, - fortran/93427, fortran/93462, fortran/93541, gcov-profile/91971, - gcov-profile/93466, ipa/93203, libgcc/85334, libgomp/93481, - libgomp/93515, libstdc++/79193, libstdc++/88999, libstdc++/92906, - libstdc++/93562, lto/93489, middle-end/90648, middle-end/93519, - middle-end/93555, middle-end/93646, middle-end/93663, other/93168, - other/93641, preprocessor/92319, preprocessor/93545, - rtl-optimization/91333, rtl-optimization/91838, - rtl-optimization/93561, rtl-optimization/93565, target/58218, - target/65782, target/85667, target/87763, target/91052, target/91816, - target/91913, target/91927, target/92190, target/93122, target/93136, - target/93300, target/93372, target/93532, target/93533, target/93548, - target/93568, target/93569, target/93594, target/93611, target/93615, - target/93637, target/93656, target/93670, target/93673, target/93696, - target/93704, target/93724, testsuite/92177, testsuite/93697, - testsuite/93717, tree-optimization/91123, tree-optimization/92819, - tree-optimization/93516, tree-optimization/93538, - tree-optimization/93582, tree-optimization/93661, - tree-optimization/93662, tree-optimization/93683, - tree-optimization/93744 - -* Thu Jan 30 2020 Jakub Jelinek 10.0.1-0.7 -- update from trunk - - PRs analyzer/93276, analyzer/93291, analyzer/93349, analyzer/93450, - analyzer/93451, bootstrap/93409, c++/60503, c++/82521, c++/88092, - c++/89357, c++/89640, c++/90333, c++/90338, c++/90546, c++/90731, - c++/90966, c++/90992, c++/91118, c++/91754, c++/91826, c++/92440, - c++/92601, c++/92948, c++/93442, c++/93443, c++/93477, driver/91220, - fortran/85781, fortran/87103, fortran/92123, fortran/93025, - fortran/93461, fortran/93463, fortran/93464, fortran/93473, - gcov-profile/93403, libstdc++/92895, libstdc++/93325, libstdc++/93426, - libstdc++/93470, libstdc++/93478, libstdc++/93479, middle-end/92323, - middle-end/93437, middle-end/93505, rtl-optimization/87763, - rtl-optimization/92989, rtl-optimization/93170, - rtl-optimization/93272, sanitizer/93436, target/91399, target/91461, - target/91824, target/92822, target/93221, target/93274, target/93418, - target/93494, testsuite/71727, testsuite/91171, testsuite/93393, - testsuite/93460, tree-optimization/89689, tree-optimization/92706, - tree-optimization/92822, tree-optimization/93397, - tree-optimization/93428, tree-optimization/93434, - tree-optimization/93439, tree-optimization/93454 - - LTO fix for *.localalias aliases (#1795575, PR lto/93384) - - __has_include{,_next} fix (#1795633, PR preprocessor/93452) - -* Sun Jan 26 2020 Jakub Jelinek 10.0.1-0.6 -- update from trunk - - PRs analyzer/93367, c++/90997, c++/92852, c++/93279, c++/93299, c++/93377, - c++/93400, c++/93414, inline-asm/93027, ipa/93166, target/13721, - target/92269, target/93395, target/93412, target/93430, - translation/90162, tree-optimization/92788 -- temporarily disable broken strcmp optimization (PR tree-optimization/92765) -- riscv64 tweaks from David Abdurachmanov (#1794343) - -* Thu Jan 23 2020 Jakub Jelinek 10.0.1-0.5 -- update from trunk - - PRs analyzer/93307, analyzer/93316, analyzer/93352, analyzer/93375, - analyzer/93378, analyzer/93382, c++/40752, c++/60855, c++/90732, - c++/91476, c++/92804, c++/92907, c++/93324, c++/93331, c++/93345, - c/84919, c/93348, fortran/93329, ipa/93315, libstdc++/91947, - rtl-optimization/93124, rtl-optimization/93402, target/91298, - target/92424, target/9311, target/93119, target/93333, target/93335, - target/93341, target/93346, target/93376, testsuite/93391, - tree-optimization/92924, tree-optimization/93381 - - fix ICE in nothrow_spec_p (#1794094, c++/93345) - -* Tue Jan 21 2020 Jakub Jelinek 10.0.1-0.4 -- update from trunk - - PRs c++/33799, c++/92536, debug/92763, fortran/44960, fortran/93309, - lto/93318, middle-end/93194, middle-end/93242, preprocessor/80005, - target/93073, target/93304, target/93319, testsuite/92829, - tree-opt/93321, tree-optimization/92328, tree-optimization/93094, - tree-optimization/93199 -- add arm_bf16.h and arm_sve.h to arm and arm/aarch64 (#1793471) - -* Sat Jan 18 2020 Jakub Jelinek 10.0.1-0.3 +* Mon Oct 19 2020 Jakub Jelinek 11.0.0-0.2 - new package diff --git a/gcc10-Wno-format-security.patch b/gcc10-Wno-format-security.patch deleted file mode 100644 index 974ea44..0000000 --- a/gcc10-Wno-format-security.patch +++ /dev/null @@ -1,27 +0,0 @@ -2017-02-25 Jakub Jelinek - - * configure.ac: When adding -Wno-format, also add -Wno-format-security. - * configure: Regenerated. - ---- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100 -+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100 -@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings, - AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]), - [],[enable_build_format_warnings=yes]) - AS_IF([test $enable_build_format_warnings = no], -- [wf_opt=-Wno-format],[wf_opt=]) -+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=]) - ACX_PROG_CXX_WARNING_OPTS( - m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ], - [-Wcast-qual -Wno-error=format-diag $wf_opt])), ---- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100 -+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100 -@@ -6647,7 +6647,7 @@ else - fi - - if test $enable_build_format_warnings = no; then : -- wf_opt=-Wno-format -+ wf_opt="-Wno-format -Wno-format-security" - else - wf_opt= - fi diff --git a/gcc10-d-shared-libphobos.patch b/gcc10-d-shared-libphobos.patch deleted file mode 100644 index 6384bbb..0000000 --- a/gcc10-d-shared-libphobos.patch +++ /dev/null @@ -1,20 +0,0 @@ -2019-01-17 Jakub Jelinek - - * d-spec.cc (lang_specific_driver): Make -shared-libphobos - the default rather than -static-libphobos. - ---- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100 -+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100 -@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option - /* Add `-lgphobos' if we haven't already done so. */ - if (phobos_library != PHOBOS_NOLINK) - { -- /* Default to static linking. */ -- if (phobos_library != PHOBOS_DYNAMIC) -- phobos_library = PHOBOS_STATIC; -+ /* Default to shared linking. */ -+ if (phobos_library != PHOBOS_STATIC) -+ phobos_library = PHOBOS_DYNAMIC; - - #ifdef HAVE_LD_STATIC_DYNAMIC - if (phobos_library == PHOBOS_STATIC && !static_link) diff --git a/gcc10-foffload-default.patch b/gcc10-foffload-default.patch deleted file mode 100644 index 4a87e9f..0000000 --- a/gcc10-foffload-default.patch +++ /dev/null @@ -1,122 +0,0 @@ -2019-01-17 Jakub Jelinek - - * gcc.c (offload_targets_default): New variable. - (process_command): Set it if -foffload is defaulted. - (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1 - into environment if -foffload has been defaulted. - * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define. - (compile_offload_image): If OFFLOAD_TARGET_DEFAULT - is in the environment, don't fail if corresponding mkoffload - can't be found. - (compile_images_for_offload_targets): Likewise. Free and clear - offload_names if no valid offload is found. -libgomp/ - * target.c (gomp_load_plugin_for_device): If a plugin can't be - dlopened, assume it has no devices silently. - ---- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100 -+++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100 -@@ -290,6 +290,10 @@ static const char *spec_host_machine = D - - static char *offload_targets = NULL; - -+/* Set to true if -foffload has not been used and offload_targets -+ is set to the configured in default. */ -+static bool offload_targets_default; -+ - /* Nonzero if cross-compiling. - When -b is used, the value comes from the `specs' file. */ - -@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op - /* If the user didn't specify any, default to all configured offload - targets. */ - if (ENABLE_OFFLOADING && offload_targets == NULL) -- handle_foffload_option (OFFLOAD_TARGETS); -+ { -+ handle_foffload_option (OFFLOAD_TARGETS); -+ offload_targets_default = true; -+ } - - if (output_file - && strcmp (output_file, "-") != 0 -@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS () - obstack_grow (&collect_obstack, offload_targets, - strlen (offload_targets) + 1); - xputenv (XOBFINISH (&collect_obstack, char *)); -+ if (offload_targets_default) -+ xputenv ("OFFLOAD_TARGET_DEFAULT=1"); - } - - free (offload_targets); ---- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100 -+++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100 -@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. - /* Environment variable, used for passing the names of offload targets from GCC - driver to lto-wrapper. */ - #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES" -+#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT" - - enum lto_mode_d { - LTO_MODE_NONE, /* Not doing LTO. */ -@@ -822,6 +823,12 @@ compile_offload_image (const char *targe - break; - } - -+ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV)) -+ { -+ free_array_of_ptrs ((void **) paths, n_paths); -+ return NULL; -+ } -+ - if (!compiler) - fatal_error (input_location, - "could not find %s in %s (consider using %<-B%>)", -@@ -885,6 +892,7 @@ compile_images_for_offload_targets (unsi - unsigned num_targets = parse_env_var (target_names, &names, NULL); - - int next_name_entry = 0; -+ bool hsa_seen = false; - const char *compiler_path = getenv ("COMPILER_PATH"); - if (!compiler_path) - goto out; -@@ -897,18 +905,26 @@ compile_images_for_offload_targets (unsi - /* HSA does not use LTO-like streaming and a different compiler, skip - it. */ - if (strcmp (names[i], "hsa") == 0) -- continue; -+ { -+ hsa_seen = true; -+ continue; -+ } - - offload_names[next_name_entry] - = compile_offload_image (names[i], compiler_path, in_argc, in_argv, - compiler_opts, compiler_opt_count, - linker_opts, linker_opt_count); - if (!offload_names[next_name_entry]) -- fatal_error (input_location, -- "problem with building target image for %s", names[i]); -+ continue; - next_name_entry++; - } - -+ if (next_name_entry == 0 && !hsa_seen) -+ { -+ free (offload_names); -+ offload_names = NULL; -+ } -+ - out: - free_array_of_ptrs ((void **) names, num_targets); - } ---- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100 -+++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100 -@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp - - void *plugin_handle = dlopen (plugin_name, RTLD_LAZY); - if (!plugin_handle) -- goto dl_fail; -+ return 0; - - /* Check if all required functions are available in the plugin and store - their handlers. None of the symbols can legitimately be NULL, diff --git a/gcc10-hack.patch b/gcc10-hack.patch deleted file mode 100644 index ba80c24..0000000 --- a/gcc10-hack.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100 -+++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100 -@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $( - libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) - ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) - -+DEFAULTMULTIFLAGS := -+ifeq ($(MULTISUBDIR),) -+targ:=$(subst -, ,$(target)) -+arch:=$(word 1,$(targ)) -+ifeq ($(words $(targ)),2) -+osys:=$(word 2,$(targ)) -+else -+osys:=$(word 3,$(targ)) -+endif -+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),) -+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64) -+DEFAULTMULTIFLAGS := -m64 -+else -+ifeq ($(strip $(filter-out s390%, $(arch))),) -+DEFAULTMULTIFLAGS := -m31 -+else -+DEFAULTMULTIFLAGS := -m32 -+endif -+endif -+endif -+endif -+ - # exeext should not be used because it's the *host* exeext. We're building - # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus - # definitions just in case something slips through the safety net provided - # by recursive make invocations in gcc/ada/Makefile.in - LIBADA_FLAGS_TO_PASS = \ - "MAKEOVERRIDES=" \ -- "LDFLAGS=$(LDFLAGS)" \ -+ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \ - "LN_S=$(LN_S)" \ - "SHELL=$(SHELL)" \ -- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ -+ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ -+ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ -+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ - "PICFLAG_FOR_TARGET=$(PICFLAG)" \ - "THREAD_KIND=$(THREAD_KIND)" \ - "TRACE=$(TRACE)" \ -@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \ - "exeext=.exeext.should.not.be.used " \ - 'CC=the.host.compiler.should.not.be.needed' \ - "GCC_FOR_TARGET=$(CC)" \ -- "CFLAGS=$(CFLAGS)" -+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)" - - .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool - ---- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100 -+++ config-ml.in 2019-01-11 18:16:23.442726914 +0100 -@@ -511,6 +511,8 @@ multi-do: - ADAFLAGS="$(ADAFLAGS) $${flags}" \ - prefix="$(prefix)" \ - exec_prefix="$(exec_prefix)" \ -+ mandir="$(mandir)" \ -+ infodir="$(infodir)" \ - GOCFLAGS="$(GOCFLAGS) $${flags}" \ - GDCFLAGS="$(GDCFLAGS) $${flags}" \ - CXXFLAGS="$(CXXFLAGS) $${flags}" \ ---- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100 -+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100 -@@ -3256,8 +3256,6 @@ static cpp_macro * - create_iso_definition (cpp_reader *pfile) - { - bool following_paste_op = false; -- const char *paste_op_error_msg = -- N_("'##' cannot appear at either end of a macro expansion"); - unsigned int num_extra_tokens = 0; - unsigned nparms = 0; - cpp_hashnode **params = NULL; -@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile - function-like macros, but not at the end. */ - if (following_paste_op) - { -- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); -+ cpp_error (pfile, CPP_DL_ERROR, -+ "'##' cannot appear at either end of a macro " -+ "expansion"); - goto out; - } - if (!vaopt_tracker.completed ()) -@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile - function-like macros, but not at the beginning. */ - if (macro->count == 1) - { -- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); -+ cpp_error (pfile, CPP_DL_ERROR, -+ "'##' cannot appear at either end of a macro " -+ "expansion"); - goto out; - } - ---- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100 -+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100 -@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile, - if ((result & CPP_N_WIDTH) == CPP_N_LARGE - && CPP_OPTION (pfile, cpp_warn_long_long)) - { -- const char *message = CPP_OPTION (pfile, cplusplus) -- ? N_("use of C++11 long long integer constant") -- : N_("use of C99 long long integer constant"); -- - if (CPP_OPTION (pfile, c99)) - cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location, -- 0, message); -+ 0, CPP_OPTION (pfile, cplusplus) -+ ? N_("use of C++11 long long integer constant") -+ : N_("use of C99 long long integer constant")); - else - cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, -- virtual_location, 0, message); -+ virtual_location, 0, -+ CPP_OPTION (pfile, cplusplus) -+ ? N_("use of C++11 long long integer constant") -+ : N_("use of C99 long long integer constant")); - } - - result |= CPP_N_INTEGER; diff --git a/gcc10-i386-libgomp.patch b/gcc10-i386-libgomp.patch deleted file mode 100644 index 520561e..0000000 --- a/gcc10-i386-libgomp.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100 -+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100 -@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then - ;; - *) - if test -z "$with_arch"; then -- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" - fi - esac - ;; diff --git a/gcc10-isl-dl.patch b/gcc10-isl-dl.patch deleted file mode 100644 index c681895..0000000 --- a/gcc10-isl-dl.patch +++ /dev/null @@ -1,715 +0,0 @@ ---- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200 -+++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100 -@@ -1063,7 +1063,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \ - $(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS) --BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) $(ZSTD_LIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file) - $(common_out_object_file): $(common_out_file) - $(COMPILE) $< - $(POSTCOMPILE) -+ -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite%.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+graphite.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) - # - # Generate header and source files from the machine description, - # and compile them. ---- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100 -+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100 -@@ -39,6 +39,590 @@ along with GCC; see the file COPYING3. - #include - #include - #include -+#include -+#include -+ -+#define DYNSYMS \ -+ DYNSYM (isl_aff_add_coefficient_si); \ -+ DYNSYM (isl_aff_free); \ -+ DYNSYM (isl_aff_get_space); \ -+ DYNSYM (isl_aff_set_coefficient_si); \ -+ DYNSYM (isl_aff_set_constant_si); \ -+ DYNSYM (isl_aff_zero_on_domain); \ -+ DYNSYM (isl_band_free); \ -+ DYNSYM (isl_band_get_children); \ -+ DYNSYM (isl_band_get_partial_schedule); \ -+ DYNSYM (isl_band_has_children); \ -+ DYNSYM (isl_band_list_free); \ -+ DYNSYM (isl_band_list_get_band); \ -+ DYNSYM (isl_band_list_get_ctx); \ -+ DYNSYM (isl_band_list_n_band); \ -+ DYNSYM (isl_band_n_member); \ -+ DYNSYM (isl_basic_map_add_constraint); \ -+ DYNSYM (isl_basic_map_project_out); \ -+ DYNSYM (isl_basic_map_universe); \ -+ DYNSYM (isl_constraint_set_coefficient_si); \ -+ DYNSYM (isl_constraint_set_constant_si); \ -+ DYNSYM (isl_ctx_alloc); \ -+ DYNSYM (isl_ctx_free); \ -+ DYNSYM (isl_equality_alloc); \ -+ DYNSYM (isl_id_alloc); \ -+ DYNSYM (isl_id_copy); \ -+ DYNSYM (isl_id_free); \ -+ DYNSYM (isl_inequality_alloc); \ -+ DYNSYM (isl_local_space_copy); \ -+ DYNSYM (isl_local_space_free); \ -+ DYNSYM (isl_local_space_from_space); \ -+ DYNSYM (isl_local_space_range); \ -+ DYNSYM (isl_map_add_constraint); \ -+ DYNSYM (isl_map_add_dims); \ -+ DYNSYM (isl_map_align_params); \ -+ DYNSYM (isl_map_apply_range); \ -+ DYNSYM (isl_map_copy); \ -+ DYNSYM (isl_map_dim); \ -+ DYNSYM (isl_map_dump); \ -+ DYNSYM (isl_map_equate); \ -+ DYNSYM (isl_map_fix_si); \ -+ DYNSYM (isl_map_flat_product); \ -+ DYNSYM (isl_map_flat_range_product); \ -+ DYNSYM (isl_map_free); \ -+ DYNSYM (isl_map_from_basic_map); \ -+ DYNSYM (isl_map_from_pw_aff); \ -+ DYNSYM (isl_map_from_union_map); \ -+ DYNSYM (isl_map_get_ctx); \ -+ DYNSYM (isl_map_get_space); \ -+ DYNSYM (isl_map_get_tuple_id); \ -+ DYNSYM (isl_map_insert_dims); \ -+ DYNSYM (isl_map_intersect); \ -+ DYNSYM (isl_map_intersect_domain); \ -+ DYNSYM (isl_map_intersect_range); \ -+ DYNSYM (isl_map_is_empty); \ -+ DYNSYM (isl_map_lex_ge); \ -+ DYNSYM (isl_map_lex_le); \ -+ DYNSYM (isl_map_n_out); \ -+ DYNSYM (isl_map_range); \ -+ DYNSYM (isl_map_set_tuple_id); \ -+ DYNSYM (isl_map_universe); \ -+ DYNSYM (isl_options_set_on_error); \ -+ DYNSYM (isl_options_set_schedule_serialize_sccs); \ -+ DYNSYM (isl_printer_set_yaml_style); \ -+ DYNSYM (isl_options_set_schedule_max_constant_term); \ -+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \ -+ DYNSYM (isl_printer_free); \ -+ DYNSYM (isl_printer_print_aff); \ -+ DYNSYM (isl_printer_print_constraint); \ -+ DYNSYM (isl_printer_print_map); \ -+ DYNSYM (isl_printer_print_set); \ -+ DYNSYM (isl_printer_to_file); \ -+ DYNSYM (isl_pw_aff_add); \ -+ DYNSYM (isl_pw_aff_alloc); \ -+ DYNSYM (isl_pw_aff_copy); \ -+ DYNSYM (isl_pw_aff_eq_set); \ -+ DYNSYM (isl_pw_aff_free); \ -+ DYNSYM (isl_pw_aff_from_aff); \ -+ DYNSYM (isl_pw_aff_ge_set); \ -+ DYNSYM (isl_pw_aff_gt_set); \ -+ DYNSYM (isl_pw_aff_is_cst); \ -+ DYNSYM (isl_pw_aff_le_set); \ -+ DYNSYM (isl_pw_aff_lt_set); \ -+ DYNSYM (isl_pw_aff_mul); \ -+ DYNSYM (isl_pw_aff_ne_set); \ -+ DYNSYM (isl_pw_aff_nonneg_set); \ -+ DYNSYM (isl_pw_aff_set_tuple_id); \ -+ DYNSYM (isl_pw_aff_sub); \ -+ DYNSYM (isl_pw_aff_zero_set); \ -+ DYNSYM (isl_schedule_free); \ -+ DYNSYM (isl_schedule_get_band_forest); \ -+ DYNSYM (isl_set_add_constraint); \ -+ DYNSYM (isl_set_add_dims); \ -+ DYNSYM (isl_set_apply); \ -+ DYNSYM (isl_set_coalesce); \ -+ DYNSYM (isl_set_copy); \ -+ DYNSYM (isl_set_dim); \ -+ DYNSYM (isl_set_fix_si); \ -+ DYNSYM (isl_set_free); \ -+ DYNSYM (isl_set_get_space); \ -+ DYNSYM (isl_set_get_tuple_id); \ -+ DYNSYM (isl_set_intersect); \ -+ DYNSYM (isl_set_is_empty); \ -+ DYNSYM (isl_set_n_dim); \ -+ DYNSYM (isl_set_nat_universe); \ -+ DYNSYM (isl_set_project_out); \ -+ DYNSYM (isl_set_set_tuple_id); \ -+ DYNSYM (isl_set_universe); \ -+ DYNSYM (isl_space_add_dims); \ -+ DYNSYM (isl_space_alloc); \ -+ DYNSYM (isl_space_copy); \ -+ DYNSYM (isl_space_dim); \ -+ DYNSYM (isl_space_domain); \ -+ DYNSYM (isl_space_find_dim_by_id); \ -+ DYNSYM (isl_space_free); \ -+ DYNSYM (isl_space_from_domain); \ -+ DYNSYM (isl_space_get_tuple_id); \ -+ DYNSYM (isl_space_params_alloc); \ -+ DYNSYM (isl_space_range); \ -+ DYNSYM (isl_space_set_alloc); \ -+ DYNSYM (isl_space_set_dim_id); \ -+ DYNSYM (isl_space_set_tuple_id); \ -+ DYNSYM (isl_union_map_add_map); \ -+ DYNSYM (isl_union_map_align_params); \ -+ DYNSYM (isl_union_map_apply_domain); \ -+ DYNSYM (isl_union_map_apply_range); \ -+ DYNSYM (isl_union_map_compute_flow); \ -+ DYNSYM (isl_union_map_copy); \ -+ DYNSYM (isl_union_map_empty); \ -+ DYNSYM (isl_union_map_flat_range_product); \ -+ DYNSYM (isl_union_map_foreach_map); \ -+ DYNSYM (isl_union_map_free); \ -+ DYNSYM (isl_union_map_from_map); \ -+ DYNSYM (isl_union_map_get_ctx); \ -+ DYNSYM (isl_union_map_get_space); \ -+ DYNSYM (isl_union_map_gist_domain); \ -+ DYNSYM (isl_union_map_gist_range); \ -+ DYNSYM (isl_union_map_intersect_domain); \ -+ DYNSYM (isl_union_map_is_empty); \ -+ DYNSYM (isl_union_map_subtract); \ -+ DYNSYM (isl_union_map_union); \ -+ DYNSYM (isl_union_set_add_set); \ -+ DYNSYM (isl_union_set_compute_schedule); \ -+ DYNSYM (isl_union_set_copy); \ -+ DYNSYM (isl_union_set_empty); \ -+ DYNSYM (isl_union_set_from_set); \ -+ DYNSYM (isl_aff_add_constant_val); \ -+ DYNSYM (isl_aff_get_coefficient_val); \ -+ DYNSYM (isl_aff_get_ctx); \ -+ DYNSYM (isl_aff_mod_val); \ -+ DYNSYM (isl_ast_build_ast_from_schedule); \ -+ DYNSYM (isl_ast_build_free); \ -+ DYNSYM (isl_ast_build_from_context); \ -+ DYNSYM (isl_ast_build_get_ctx); \ -+ DYNSYM (isl_ast_build_get_schedule); \ -+ DYNSYM (isl_ast_build_get_schedule_space); \ -+ DYNSYM (isl_ast_build_set_before_each_for); \ -+ DYNSYM (isl_ast_build_set_options); \ -+ DYNSYM (isl_ast_expr_free); \ -+ DYNSYM (isl_ast_expr_from_val); \ -+ DYNSYM (isl_ast_expr_get_ctx); \ -+ DYNSYM (isl_ast_expr_get_id); \ -+ DYNSYM (isl_ast_expr_get_op_arg); \ -+ DYNSYM (isl_ast_expr_get_op_n_arg); \ -+ DYNSYM (isl_ast_expr_get_op_type); \ -+ DYNSYM (isl_ast_expr_get_type); \ -+ DYNSYM (isl_ast_expr_get_val); \ -+ DYNSYM (isl_ast_expr_sub); \ -+ DYNSYM (isl_ast_node_block_get_children); \ -+ DYNSYM (isl_ast_node_for_get_body); \ -+ DYNSYM (isl_ast_node_for_get_cond); \ -+ DYNSYM (isl_ast_node_for_get_inc); \ -+ DYNSYM (isl_ast_node_for_get_init); \ -+ DYNSYM (isl_ast_node_for_get_iterator); \ -+ DYNSYM (isl_ast_node_free); \ -+ DYNSYM (isl_ast_node_get_annotation); \ -+ DYNSYM (isl_ast_node_get_type); \ -+ DYNSYM (isl_ast_node_if_get_cond); \ -+ DYNSYM (isl_ast_node_if_get_else); \ -+ DYNSYM (isl_ast_node_if_get_then); \ -+ DYNSYM (isl_ast_node_list_free); \ -+ DYNSYM (isl_ast_node_list_get_ast_node); \ -+ DYNSYM (isl_ast_node_list_n_ast_node); \ -+ DYNSYM (isl_ast_node_user_get_expr); \ -+ DYNSYM (isl_constraint_set_coefficient_val); \ -+ DYNSYM (isl_constraint_set_constant_val); \ -+ DYNSYM (isl_id_get_user); \ -+ DYNSYM (isl_local_space_get_ctx); \ -+ DYNSYM (isl_map_fix_val); \ -+ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \ -+ DYNSYM (isl_printer_print_ast_node); \ -+ DYNSYM (isl_printer_print_str); \ -+ DYNSYM (isl_printer_set_output_format); \ -+ DYNSYM (isl_pw_aff_mod_val); \ -+ DYNSYM (isl_schedule_constraints_compute_schedule); \ -+ DYNSYM (isl_schedule_constraints_on_domain); \ -+ DYNSYM (isl_schedule_constraints_set_coincidence); \ -+ DYNSYM (isl_schedule_constraints_set_proximity); \ -+ DYNSYM (isl_schedule_constraints_set_validity); \ -+ DYNSYM (isl_set_get_dim_id); \ -+ DYNSYM (isl_set_max_val); \ -+ DYNSYM (isl_set_min_val); \ -+ DYNSYM (isl_set_params); \ -+ DYNSYM (isl_space_align_params); \ -+ DYNSYM (isl_space_map_from_domain_and_range); \ -+ DYNSYM (isl_space_set_tuple_name); \ -+ DYNSYM (isl_space_wrap); \ -+ DYNSYM (isl_union_map_from_domain_and_range); \ -+ DYNSYM (isl_union_map_range); \ -+ DYNSYM (isl_union_set_union); \ -+ DYNSYM (isl_union_set_universe); \ -+ DYNSYM (isl_val_2exp); \ -+ DYNSYM (isl_val_add_ui); \ -+ DYNSYM (isl_val_copy); \ -+ DYNSYM (isl_val_free); \ -+ DYNSYM (isl_val_int_from_si); \ -+ DYNSYM (isl_val_int_from_ui); \ -+ DYNSYM (isl_val_mul); \ -+ DYNSYM (isl_val_neg); \ -+ DYNSYM (isl_val_sub); \ -+ DYNSYM (isl_printer_print_union_map); \ -+ DYNSYM (isl_pw_aff_get_ctx); \ -+ DYNSYM (isl_val_is_int); \ -+ DYNSYM (isl_ctx_get_max_operations); \ -+ DYNSYM (isl_ctx_set_max_operations); \ -+ DYNSYM (isl_ctx_last_error); \ -+ DYNSYM (isl_ctx_reset_operations); \ -+ DYNSYM (isl_map_coalesce); \ -+ DYNSYM (isl_printer_print_schedule); \ -+ DYNSYM (isl_set_set_dim_id); \ -+ DYNSYM (isl_union_map_coalesce); \ -+ DYNSYM (isl_multi_val_set_val); \ -+ DYNSYM (isl_multi_val_zero); \ -+ DYNSYM (isl_options_set_schedule_max_coefficient); \ -+ DYNSYM (isl_options_set_tile_scale_tile_loops); \ -+ DYNSYM (isl_schedule_copy); \ -+ DYNSYM (isl_schedule_get_map); \ -+ DYNSYM (isl_schedule_map_schedule_node_bottom_up); \ -+ DYNSYM (isl_schedule_node_band_get_permutable); \ -+ DYNSYM (isl_schedule_node_band_get_space); \ -+ DYNSYM (isl_schedule_node_band_tile); \ -+ DYNSYM (isl_schedule_node_child); \ -+ DYNSYM (isl_schedule_node_free); \ -+ DYNSYM (isl_schedule_node_get_child); \ -+ DYNSYM (isl_schedule_node_get_ctx); \ -+ DYNSYM (isl_schedule_node_get_type); \ -+ DYNSYM (isl_schedule_node_n_children); \ -+ DYNSYM (isl_union_map_is_equal); \ -+ DYNSYM (isl_union_access_info_compute_flow); \ -+ DYNSYM (isl_union_access_info_from_sink); \ -+ DYNSYM (isl_union_access_info_set_may_source); \ -+ DYNSYM (isl_union_access_info_set_must_source); \ -+ DYNSYM (isl_union_access_info_set_schedule); \ -+ DYNSYM (isl_union_flow_free); \ -+ DYNSYM (isl_union_flow_get_may_dependence); \ -+ DYNSYM (isl_union_flow_get_must_dependence); \ -+ DYNSYM (isl_aff_var_on_domain); \ -+ DYNSYM (isl_multi_aff_from_aff); \ -+ DYNSYM (isl_schedule_get_ctx); \ -+ DYNSYM (isl_multi_aff_set_tuple_id); \ -+ DYNSYM (isl_multi_aff_dim); \ -+ DYNSYM (isl_schedule_get_domain); \ -+ DYNSYM (isl_union_set_is_empty); \ -+ DYNSYM (isl_union_set_get_space); \ -+ DYNSYM (isl_union_pw_multi_aff_empty); \ -+ DYNSYM (isl_union_set_foreach_set); \ -+ DYNSYM (isl_union_set_free); \ -+ DYNSYM (isl_multi_union_pw_aff_from_union_pw_multi_aff); \ -+ DYNSYM (isl_multi_union_pw_aff_apply_multi_aff); \ -+ DYNSYM (isl_schedule_insert_partial_schedule); \ -+ DYNSYM (isl_union_pw_multi_aff_free); \ -+ DYNSYM (isl_pw_multi_aff_project_out_map); \ -+ DYNSYM (isl_union_pw_multi_aff_add_pw_multi_aff); \ -+ DYNSYM (isl_schedule_from_domain); \ -+ DYNSYM (isl_schedule_sequence); \ -+ DYNSYM (isl_ast_build_node_from_schedule); \ -+ DYNSYM (isl_ast_node_mark_get_node); \ -+ DYNSYM (isl_schedule_node_band_member_get_ast_loop_type); \ -+ DYNSYM (isl_schedule_node_band_member_set_ast_loop_type); \ -+ DYNSYM (isl_val_n_abs_num_chunks); \ -+ DYNSYM (isl_val_get_abs_num_chunks); \ -+ DYNSYM (isl_val_int_from_chunks); \ -+ DYNSYM (isl_val_is_neg); \ -+ DYNSYM (isl_version); \ -+ DYNSYM (isl_options_get_on_error); \ -+ DYNSYM (isl_ctx_reset_error); -+ -+extern struct isl_pointers_s__ -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} isl_pointers__; -+ -+#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si) -+#define isl_aff_free (*isl_pointers__.p_isl_aff_free) -+#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space) -+#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si) -+#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si) -+#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain) -+#define isl_band_free (*isl_pointers__.p_isl_band_free) -+#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children) -+#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule) -+#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children) -+#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free) -+#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band) -+#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx) -+#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band) -+#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member) -+#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint) -+#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out) -+#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe) -+#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si) -+#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si) -+#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc) -+#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free) -+#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc) -+#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc) -+#define isl_id_copy (*isl_pointers__.p_isl_id_copy) -+#define isl_id_free (*isl_pointers__.p_isl_id_free) -+#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc) -+#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy) -+#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free) -+#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space) -+#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range) -+#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint) -+#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims) -+#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params) -+#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range) -+#define isl_map_copy (*isl_pointers__.p_isl_map_copy) -+#define isl_map_dim (*isl_pointers__.p_isl_map_dim) -+#define isl_map_dump (*isl_pointers__.p_isl_map_dump) -+#define isl_map_equate (*isl_pointers__.p_isl_map_equate) -+#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si) -+#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product) -+#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product) -+#define isl_map_free (*isl_pointers__.p_isl_map_free) -+#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map) -+#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff) -+#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map) -+#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx) -+#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space) -+#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id) -+#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims) -+#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect) -+#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain) -+#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range) -+#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty) -+#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge) -+#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le) -+#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out) -+#define isl_map_range (*isl_pointers__.p_isl_map_range) -+#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id) -+#define isl_map_universe (*isl_pointers__.p_isl_map_universe) -+#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error) -+#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs) -+#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style) -+#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term) -+#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth) -+#define isl_printer_free (*isl_pointers__.p_isl_printer_free) -+#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff) -+#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint) -+#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map) -+#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set) -+#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file) -+#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add) -+#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc) -+#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy) -+#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set) -+#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free) -+#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff) -+#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set) -+#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set) -+#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst) -+#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set) -+#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set) -+#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul) -+#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set) -+#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set) -+#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id) -+#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub) -+#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set) -+#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free) -+#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest) -+#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint) -+#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims) -+#define isl_set_apply (*isl_pointers__.p_isl_set_apply) -+#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce) -+#define isl_set_copy (*isl_pointers__.p_isl_set_copy) -+#define isl_set_dim (*isl_pointers__.p_isl_set_dim) -+#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si) -+#define isl_set_free (*isl_pointers__.p_isl_set_free) -+#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space) -+#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id) -+#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect) -+#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty) -+#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim) -+#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe) -+#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out) -+#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id) -+#define isl_set_universe (*isl_pointers__.p_isl_set_universe) -+#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims) -+#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc) -+#define isl_space_copy (*isl_pointers__.p_isl_space_copy) -+#define isl_space_dim (*isl_pointers__.p_isl_space_dim) -+#define isl_space_domain (*isl_pointers__.p_isl_space_domain) -+#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id) -+#define isl_space_free (*isl_pointers__.p_isl_space_free) -+#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain) -+#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id) -+#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc) -+#define isl_space_range (*isl_pointers__.p_isl_space_range) -+#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc) -+#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id) -+#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id) -+#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map) -+#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params) -+#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain) -+#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range) -+#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow) -+#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy) -+#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty) -+#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product) -+#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map) -+#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free) -+#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map) -+#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx) -+#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space) -+#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain) -+#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range) -+#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain) -+#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty) -+#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract) -+#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union) -+#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set) -+#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule) -+#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy) -+#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty) -+#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set) -+#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val) -+#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val) -+#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx) -+#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val) -+#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule) -+#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free) -+#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context) -+#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx) -+#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule) -+#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space) -+#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for) -+#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options) -+#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free) -+#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val) -+#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx) -+#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id) -+#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg) -+#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg) -+#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type) -+#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type) -+#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val) -+#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub) -+#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children) -+#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body) -+#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond) -+#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc) -+#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init) -+#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator) -+#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free) -+#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation) -+#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type) -+#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond) -+#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else) -+#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then) -+#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free) -+#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node) -+#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node) -+#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr) -+#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val) -+#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val) -+#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user) -+#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx) -+#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val) -+#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound) -+#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node) -+#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str) -+#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format) -+#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val) -+#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule) -+#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain) -+#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence) -+#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity) -+#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity) -+#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id) -+#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val) -+#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val) -+#define isl_set_params (*isl_pointers__.p_isl_set_params) -+#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params) -+#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range) -+#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name) -+#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap) -+#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range) -+#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range) -+#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union) -+#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe) -+#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp) -+#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui) -+#define isl_val_copy (*isl_pointers__.p_isl_val_copy) -+#define isl_val_free (*isl_pointers__.p_isl_val_free) -+#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si) -+#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui) -+#define isl_val_mul (*isl_pointers__.p_isl_val_mul) -+#define isl_val_neg (*isl_pointers__.p_isl_val_neg) -+#define isl_val_sub (*isl_pointers__.p_isl_val_sub) -+#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map) -+#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx) -+#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int) -+#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations) -+#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations) -+#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error) -+#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations) -+#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce) -+#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule) -+#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id) -+#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce) -+#define isl_multi_val_set_val (*isl_pointers__.p_isl_multi_val_set_val) -+#define isl_multi_val_zero (*isl_pointers__.p_isl_multi_val_zero) -+#define isl_options_set_schedule_max_coefficient (*isl_pointers__.p_isl_options_set_schedule_max_coefficient) -+#define isl_options_set_tile_scale_tile_loops (*isl_pointers__.p_isl_options_set_tile_scale_tile_loops) -+#define isl_schedule_copy (*isl_pointers__.p_isl_schedule_copy) -+#define isl_schedule_get_map (*isl_pointers__.p_isl_schedule_get_map) -+#define isl_schedule_map_schedule_node_bottom_up (*isl_pointers__.p_isl_schedule_map_schedule_node_bottom_up) -+#define isl_schedule_node_band_get_permutable (*isl_pointers__.p_isl_schedule_node_band_get_permutable) -+#define isl_schedule_node_band_get_space (*isl_pointers__.p_isl_schedule_node_band_get_space) -+#define isl_schedule_node_band_tile (*isl_pointers__.p_isl_schedule_node_band_tile) -+#define isl_schedule_node_child (*isl_pointers__.p_isl_schedule_node_child) -+#define isl_schedule_node_free (*isl_pointers__.p_isl_schedule_node_free) -+#define isl_schedule_node_get_child (*isl_pointers__.p_isl_schedule_node_get_child) -+#define isl_schedule_node_get_ctx (*isl_pointers__.p_isl_schedule_node_get_ctx) -+#define isl_schedule_node_get_type (*isl_pointers__.p_isl_schedule_node_get_type) -+#define isl_schedule_node_n_children (*isl_pointers__.p_isl_schedule_node_n_children) -+#define isl_union_map_is_equal (*isl_pointers__.p_isl_union_map_is_equal) -+#define isl_union_access_info_compute_flow (*isl_pointers__.p_isl_union_access_info_compute_flow) -+#define isl_union_access_info_from_sink (*isl_pointers__.p_isl_union_access_info_from_sink) -+#define isl_union_access_info_set_may_source (*isl_pointers__.p_isl_union_access_info_set_may_source) -+#define isl_union_access_info_set_must_source (*isl_pointers__.p_isl_union_access_info_set_must_source) -+#define isl_union_access_info_set_schedule (*isl_pointers__.p_isl_union_access_info_set_schedule) -+#define isl_union_flow_free (*isl_pointers__.p_isl_union_flow_free) -+#define isl_union_flow_get_may_dependence (*isl_pointers__.p_isl_union_flow_get_may_dependence) -+#define isl_union_flow_get_must_dependence (*isl_pointers__.p_isl_union_flow_get_must_dependence) -+#define isl_aff_var_on_domain (*isl_pointers__.p_isl_aff_var_on_domain) -+#define isl_multi_aff_from_aff (*isl_pointers__.p_isl_multi_aff_from_aff) -+#define isl_schedule_get_ctx (*isl_pointers__.p_isl_schedule_get_ctx) -+#define isl_multi_aff_set_tuple_id (*isl_pointers__.p_isl_multi_aff_set_tuple_id) -+#define isl_multi_aff_dim (*isl_pointers__.p_isl_multi_aff_dim) -+#define isl_schedule_get_domain (*isl_pointers__.p_isl_schedule_get_domain) -+#define isl_union_set_is_empty (*isl_pointers__.p_isl_union_set_is_empty) -+#define isl_union_set_get_space (*isl_pointers__.p_isl_union_set_get_space) -+#define isl_union_pw_multi_aff_empty (*isl_pointers__.p_isl_union_pw_multi_aff_empty) -+#define isl_union_set_foreach_set (*isl_pointers__.p_isl_union_set_foreach_set) -+#define isl_union_set_free (*isl_pointers__.p_isl_union_set_free) -+#define isl_multi_union_pw_aff_from_union_pw_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_from_union_pw_multi_aff) -+#define isl_multi_union_pw_aff_apply_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_apply_multi_aff) -+#define isl_schedule_insert_partial_schedule (*isl_pointers__.p_isl_schedule_insert_partial_schedule) -+#define isl_union_pw_multi_aff_free (*isl_pointers__.p_isl_union_pw_multi_aff_free) -+#define isl_pw_multi_aff_project_out_map (*isl_pointers__.p_isl_pw_multi_aff_project_out_map) -+#define isl_union_pw_multi_aff_add_pw_multi_aff (*isl_pointers__.p_isl_union_pw_multi_aff_add_pw_multi_aff) -+#define isl_schedule_from_domain (*isl_pointers__.p_isl_schedule_from_domain) -+#define isl_schedule_sequence (*isl_pointers__.p_isl_schedule_sequence) -+#define isl_ast_build_node_from_schedule (*isl_pointers__.p_isl_ast_build_node_from_schedule) -+#define isl_ast_node_mark_get_node (*isl_pointers__.p_isl_ast_node_mark_get_node) -+#define isl_schedule_node_band_member_get_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_get_ast_loop_type) -+#define isl_schedule_node_band_member_set_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_set_ast_loop_type) -+#define isl_val_n_abs_num_chunks (*isl_pointers__.p_isl_val_n_abs_num_chunks) -+#define isl_val_get_abs_num_chunks (*isl_pointers__.p_isl_val_get_abs_num_chunks) -+#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks) -+#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg) -+#define isl_version (*isl_pointers__.p_isl_version) -+#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error) -+#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error) - - typedef struct poly_dr *poly_dr_p; - -@@ -461,5 +1045,6 @@ extern void build_scops (vec *); - extern void dot_all_sese (FILE *, vec &); - extern void dot_sese (sese_l &); - extern void dot_cfg (); -+extern const char *get_isl_version (bool); - - #endif ---- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100 -+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100 -@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3. - #include "tree-into-ssa.h" - #include "graphite.h" - -+__typeof (isl_pointers__) isl_pointers__; -+ -+static bool -+init_isl_pointers (void) -+{ -+ void *h; -+ -+ if (isl_pointers__.inited) -+ return isl_pointers__.h != NULL; -+ h = dlopen ("libisl.so.15", RTLD_LAZY); -+ isl_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ isl_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ isl_pointers__.inited = true; -+ return true; -+} -+ - /* Print global statistics to FILE. */ - - static void -@@ -365,6 +394,15 @@ graphite_transform_loops (void) - if (parallelized_function_p (cfun->decl)) - return; - -+ if (number_of_loops (cfun) <= 1) -+ return; -+ -+ if (!init_isl_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return; -+ } -+ - calculate_dominance_info (CDI_DOMINATORS); - - /* We rely on post-dominators during merging of SESE regions so those -@@ -455,6 +493,14 @@ graphite_transform_loops (void) - } - } - -+const char * -+get_isl_version (bool force) -+{ -+ if (force) -+ init_isl_pointers (); -+ return (isl_pointers__.inited && isl_version) ? isl_version () : "none"; -+} -+ - #else /* If isl is not available: #ifndef HAVE_isl. */ - - static void ---- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100 -+++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100 -@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3. - - #ifdef HAVE_isl - #include -+extern const char *get_isl_version (bool); - #endif - - static void general_init (const char *, bool); -@@ -683,7 +684,7 @@ print_version (FILE *file, const char *i - #ifndef HAVE_isl - "none" - #else -- isl_version () -+ get_isl_version (*indent == 0) - #endif - ); - if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version)) diff --git a/gcc10-libgomp-omp_h-multilib.patch b/gcc10-libgomp-omp_h-multilib.patch deleted file mode 100644 index d0e98d1..0000000 --- a/gcc10-libgomp-omp_h-multilib.patch +++ /dev/null @@ -1,17 +0,0 @@ -2008-06-09 Jakub Jelinek - - * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs. - ---- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200 -+++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200 -@@ -42,8 +42,8 @@ typedef struct - - typedef struct - { -- unsigned char _x[@OMP_NEST_LOCK_SIZE@] -- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@))); -+ unsigned char _x[8 + sizeof (void *)] -+ __attribute__((__aligned__(sizeof (void *)))); - } omp_nest_lock_t; - #endif - diff --git a/gcc10-libstdc++-docs.patch b/gcc10-libstdc++-docs.patch deleted file mode 100644 index d51b6d3..0000000 --- a/gcc10-libstdc++-docs.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100 -+++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100 -@@ -5,6 +5,8 @@ - FSF - -

-+ Release 10.2.1 -+

- Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation - License, Version 1.2 or any later version published by the ---- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100 -+++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100 -@@ -20,7 +20,9 @@ - member functions for the library classes, finding out what is in a - particular include file, looking at inheritance diagrams, etc. -

-- The API documentation, rendered into HTML, can be viewed online -+ The API documentation, rendered into HTML, can be viewed locally -+ for the 10.2.1 release, -+ online - for each GCC release - and - diff --git a/gcc10-libtool-no-rpath.patch b/gcc10-libtool-no-rpath.patch deleted file mode 100644 index 466c661..0000000 --- a/gcc10-libtool-no-rpath.patch +++ /dev/null @@ -1,27 +0,0 @@ -libtool sucks. ---- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100 -+++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200 -@@ -5394,6 +5394,7 @@ EOF - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then -@@ -6071,6 +6072,7 @@ EOF - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then -@@ -6120,6 +6122,7 @@ EOF - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then diff --git a/gcc10-no-add-needed.patch b/gcc10-no-add-needed.patch deleted file mode 100644 index 5817299..0000000 --- a/gcc10-no-add-needed.patch +++ /dev/null @@ -1,37 +0,0 @@ -2010-02-08 Roland McGrath - - * config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker. - * config/alpha/elf.h (LINK_EH_SPEC): Likewise. - * config/ia64/linux.h (LINK_EH_SPEC): Likewise. - ---- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100 -+++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100 -@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu - I imagine that other systems will catch up. In the meantime, it - doesn't harm to make sure that the data exists to be used later. */ - #if defined(HAVE_LD_EH_FRAME_HDR) --#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " -+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " - #endif ---- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100 -+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100 -@@ -76,7 +76,7 @@ do { \ - Signalize that because we have fde-glibc, we don't need all C shared libs - linked against -lgcc_s. */ - #undef LINK_EH_SPEC --#define LINK_EH_SPEC "" -+#define LINK_EH_SPEC "--no-add-needed " - - #undef TARGET_INIT_LIBFUNCS - #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs ---- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100 -+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100 -@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI - #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) --#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " -+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " - #endif - - #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \ diff --git a/gcc10-pr96383.patch b/gcc10-pr96383.patch deleted file mode 100644 index 950a2f4..0000000 --- a/gcc10-pr96383.patch +++ /dev/null @@ -1,236 +0,0 @@ -2020-07-30 Richard Biener - - PR debug/96383 - * langhooks-def.h (lhd_finalize_early_debug): Declare. - (LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define. - (LANG_HOOKS_INITIALIZER): Amend. - * langhooks.c: Include cgraph.h and debug.h. - (lhd_finalize_early_debug): Default implementation from - former code in finalize_compilation_unit. - * langhooks.h (lang_hooks::finalize_early_debug): Add. - * cgraphunit.c (symbol_table::finalize_compilation_unit): - Call the finalize_early_debug langhook. - -gcc/c-family/ - * c-common.h (c_common_finalize_early_debug): Declare. - * c-common.c: Include debug.h. - (c_common_finalize_early_debug): finalize_early_debug langhook - implementation generating debug for extern declarations. - -gcc/c/ - * c-objc-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG): - Define to c_common_finalize_early_debug. - -gcc/cp/ - * cp-objcp-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG): - Define to c_common_finalize_early_debug. - -gcc/testsuite/ - * gcc.dg/debug/dwarf2/pr96383-1.c: New testcase. - * gcc.dg/debug/dwarf2/pr96383-2.c: Likewise. - -libstdc++-v3/ - * testsuite/20_util/assume_aligned/3.cc: Use -g0. - ---- gcc/c-family/c-common.c -+++ gcc/c-family/c-common.c -@@ -50,6 +50,7 @@ along with GCC; see the file COPYING3. If not see - #include "spellcheck.h" - #include "c-spellcheck.h" - #include "selftest.h" -+#include "debug.h" - - cpp_reader *parse_in; /* Declared in c-pragma.h. */ - -@@ -9086,4 +9087,20 @@ braced_lists_to_strings (tree type, tree ctor) - return braced_lists_to_strings (type, ctor, false); - } - -+ -+/* Emit debug for functions before finalizing early debug. */ -+ -+void -+c_common_finalize_early_debug (void) -+{ -+ /* Emit early debug for reachable functions, and by consequence, -+ locally scoped symbols. Also emit debug for extern declared -+ functions that are still reachable at this point. */ -+ struct cgraph_node *cnode; -+ FOR_EACH_FUNCTION (cnode) -+ if (!cnode->alias && !cnode->thunk.thunk_p -+ && (cnode->has_gimple_body_p () || !DECL_IS_BUILTIN (cnode->decl))) -+ (*debug_hooks->early_global_decl) (cnode->decl); -+} -+ - #include "gt-c-family-c-common.h" ---- gcc/c-family/c-common.h -+++ gcc/c-family/c-common.h -@@ -885,6 +885,8 @@ extern bool bool_promoted_to_int_p (tree); - extern tree fold_for_warn (tree); - extern tree c_common_get_narrower (tree, int *); - extern bool get_attribute_operand (tree, unsigned HOST_WIDE_INT *); -+extern void c_common_finalize_early_debug (void); -+ - - #define c_sizeof(LOC, T) c_sizeof_or_alignof_type (LOC, T, true, false, 1) - #define c_alignof(LOC, T) c_sizeof_or_alignof_type (LOC, T, false, false, 1) ---- gcc/c/c-objc-common.h -+++ gcc/c/c-objc-common.h -@@ -65,6 +65,8 @@ along with GCC; see the file COPYING3. If not see - c_simulate_builtin_function_decl - #undef LANG_HOOKS_EMITS_BEGIN_STMT - #define LANG_HOOKS_EMITS_BEGIN_STMT true -+#undef LANG_HOOKS_FINALIZE_EARLY_DEBUG -+#define LANG_HOOKS_FINALIZE_EARLY_DEBUG c_common_finalize_early_debug - - /* Attribute hooks. */ - #undef LANG_HOOKS_COMMON_ATTRIBUTE_TABLE ---- gcc/cgraphunit.c -+++ gcc/cgraphunit.c -@@ -2998,11 +2998,9 @@ symbol_table::finalize_compilation_unit (void) - - if (!seen_error ()) - { -- /* Emit early debug for reachable functions, and by consequence, -- locally scoped symbols. */ -- struct cgraph_node *cnode; -- FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode) -- (*debug_hooks->early_global_decl) (cnode->decl); -+ /* Give the frontends the chance to emit early debug based on -+ what is still reachable in the TU. */ -+ (*lang_hooks.finalize_early_debug) (); - - /* Clean up anything that needs cleaning up after initial debug - generation. */ ---- gcc/cp/cp-objcp-common.h -+++ gcc/cp/cp-objcp-common.h -@@ -115,6 +115,8 @@ extern tree cxx_simulate_enum_decl (location_t, const char *, - #define LANG_HOOKS_BLOCK_MAY_FALLTHRU cxx_block_may_fallthru - #undef LANG_HOOKS_EMITS_BEGIN_STMT - #define LANG_HOOKS_EMITS_BEGIN_STMT true -+#undef LANG_HOOKS_FINALIZE_EARLY_DEBUG -+#define LANG_HOOKS_FINALIZE_EARLY_DEBUG c_common_finalize_early_debug - - /* Attribute hooks. */ - #undef LANG_HOOKS_COMMON_ATTRIBUTE_TABLE ---- gcc/langhooks-def.h -+++ gcc/langhooks-def.h -@@ -92,6 +92,7 @@ extern const char *lhd_get_substring_location (const substring_loc &, - location_t *out_loc); - extern int lhd_decl_dwarf_attribute (const_tree, int); - extern int lhd_type_dwarf_attribute (const_tree, int); -+extern void lhd_finalize_early_debug (void); - - #define LANG_HOOKS_NAME "GNU unknown" - #define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier) -@@ -139,6 +140,7 @@ extern int lhd_type_dwarf_attribute (const_tree, int); - #define LANG_HOOKS_EMITS_BEGIN_STMT false - #define LANG_HOOKS_RUN_LANG_SELFTESTS lhd_do_nothing - #define LANG_HOOKS_GET_SUBSTRING_LOCATION lhd_get_substring_location -+#define LANG_HOOKS_FINALIZE_EARLY_DEBUG lhd_finalize_early_debug - - /* Attribute hooks. */ - #define LANG_HOOKS_ATTRIBUTE_TABLE NULL -@@ -364,7 +366,8 @@ extern void lhd_end_section (void); - LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS, \ - LANG_HOOKS_EMITS_BEGIN_STMT, \ - LANG_HOOKS_RUN_LANG_SELFTESTS, \ -- LANG_HOOKS_GET_SUBSTRING_LOCATION \ -+ LANG_HOOKS_GET_SUBSTRING_LOCATION, \ -+ LANG_HOOKS_FINALIZE_EARLY_DEBUG \ - } - - #endif /* GCC_LANG_HOOKS_DEF_H */ ---- gcc/langhooks.c -+++ gcc/langhooks.c -@@ -36,6 +36,8 @@ along with GCC; see the file COPYING3. If not see - #include "output.h" - #include "timevar.h" - #include "stor-layout.h" -+#include "cgraph.h" -+#include "debug.h" - - /* Do nothing; in many cases the default hook. */ - -@@ -866,6 +868,18 @@ lhd_unit_size_without_reusable_padding (tree t) - return TYPE_SIZE_UNIT (t); - } - -+/* Default implementation for the finalize_early_debug hook. */ -+ -+void -+lhd_finalize_early_debug (void) -+{ -+ /* Emit early debug for reachable functions, and by consequence, -+ locally scoped symbols. */ -+ struct cgraph_node *cnode; -+ FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode) -+ (*debug_hooks->early_global_decl) (cnode->decl); -+} -+ - /* Returns true if the current lang_hooks represents the GNU C frontend. */ - - bool ---- gcc/langhooks.h -+++ gcc/langhooks.h -@@ -580,6 +580,9 @@ struct lang_hooks - const char *(*get_substring_location) (const substring_loc &, - location_t *out_loc); - -+ /* Invoked before the early_finish debug hook is invoked. */ -+ void (*finalize_early_debug) (void); -+ - /* Whenever you add entries here, make sure you adjust langhooks-def.h - and langhooks.c accordingly. */ - }; ---- gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-1.c -+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-1.c -@@ -0,0 +1,17 @@ -+/* { dg-do compile } */ -+/* { dg-options "-g -gdwarf -dA" } */ -+ -+extern void foo (int); -+extern void unusedbar (int); -+ -+int main() -+{ -+ foo (1); -+} -+ -+/* We want subprogram DIEs for both foo and main and a DIE for -+ the formal parameter of foo. We do not want a DIE for -+ unusedbar. */ -+/* { dg-final { scan-assembler-times "DW_TAG_subprogram" 4 } } */ -+/* { dg-final { scan-assembler-times "DW_TAG_formal_parameter" 2 } } */ -+/* { dg-final { scan-assembler-not "unusedbar" } } */ ---- gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-2.c -+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-2.c -@@ -0,0 +1,17 @@ -+/* { dg-do compile } */ -+/* { dg-options "-g -O2 -gdwarf -dA" } */ -+ -+extern void foo (int); -+extern void unusedbar (int); -+ -+int main() -+{ -+ foo (1); -+} -+ -+/* We want subprogram DIEs for both foo and main and a DIE for -+ the formal parameter of foo. We do not want a DIE for -+ unusedbar. */ -+/* { dg-final { scan-assembler-times "DW_TAG_subprogram" 4 } } */ -+/* { dg-final { scan-assembler-times "DW_TAG_formal_parameter" 2 } } */ -+/* { dg-final { scan-assembler-not "unusedbar" } } */ ---- libstdc++-v3/testsuite/20_util/assume_aligned/3.cc -+++ libstdc++-v3/testsuite/20_util/assume_aligned/3.cc -@@ -15,7 +15,7 @@ - // with this library; see the file COPYING3. If not see - // . - --// { dg-options "-std=gnu++2a -O2" } -+// { dg-options "-std=gnu++2a -O2 -g0" } - // { dg-do compile { target c++2a } } - // { dg-final { scan-assembler-not "undefined" } } - diff --git a/gcc10-pr96939-2.patch b/gcc10-pr96939-2.patch deleted file mode 100644 index e9e406f..0000000 --- a/gcc10-pr96939-2.patch +++ /dev/null @@ -1,51 +0,0 @@ -2020-09-09 Jakub Jelinek - - * config/arm/arm.c (arm_override_options_after_change_1): Add opts_set - argument, test opts_set->x_str_align_functions rather than - opts->x_str_align_functions. - (arm_override_options_after_change, arm_option_override_internal, - arm_set_current_function): Adjust callers. - ---- gcc/config/arm/arm.c.jj 2020-09-09 09:19:42.911419411 +0200 -+++ gcc/config/arm/arm.c 2020-09-09 09:28:02.392897384 +0200 -@@ -3024,10 +3024,11 @@ static GTY(()) bool thumb_flipper; - static GTY(()) tree init_optimize; - - static void --arm_override_options_after_change_1 (struct gcc_options *opts) -+arm_override_options_after_change_1 (struct gcc_options *opts, -+ struct gcc_options *opts_set) - { - /* -falign-functions without argument: supply one. */ -- if (opts->x_flag_align_functions && !opts->x_str_align_functions) -+ if (opts->x_flag_align_functions && !opts_set->x_str_align_functions) - opts->x_str_align_functions = TARGET_THUMB_P (opts->x_target_flags) - && opts->x_optimize_size ? "2" : "4"; - } -@@ -3037,7 +3038,7 @@ arm_override_options_after_change_1 (str - static void - arm_override_options_after_change (void) - { -- arm_override_options_after_change_1 (&global_options); -+ arm_override_options_after_change_1 (&global_options, &global_options_set); - } - - /* Implement TARGET_OPTION_SAVE. */ -@@ -3065,7 +3066,7 @@ static void - arm_option_override_internal (struct gcc_options *opts, - struct gcc_options *opts_set) - { -- arm_override_options_after_change_1 (opts); -+ arm_override_options_after_change_1 (opts, opts_set); - - if (TARGET_INTERWORK && !bitmap_bit_p (arm_active_target.isa, isa_bit_thumb)) - { -@@ -32335,7 +32336,7 @@ arm_set_current_function (tree fndecl) - - save_restore_target_globals (new_tree); - -- arm_override_options_after_change_1 (&global_options); -+ arm_override_options_after_change_1 (&global_options, &global_options_set); - } - - /* Implement TARGET_OPTION_PRINT. */ diff --git a/gcc10-pr96939-3.patch b/gcc10-pr96939-3.patch deleted file mode 100644 index f133f8d..0000000 --- a/gcc10-pr96939-3.patch +++ /dev/null @@ -1,111 +0,0 @@ -2020-09-13 Jakub Jelinek - - * config/arm/arm.opt (arm_arch_specified, arm_cpu_specified, - arm_tune_specified): New TargetVariables. - * config/arm/arm.c (arm_configure_build_target): Comment out - opts_set argument name. Use opts->x_arm_*_specified instead - of opts_set->x_arm_*_string. - * common/config/arm/arm-common.c (arm_handle_option): New function. - (TARGET_HANDLE_OPTION): Redefine. - ---- gcc/config/arm/arm.opt.jj 2020-09-12 13:36:27.619716335 +0200 -+++ gcc/config/arm/arm.opt 2020-09-12 13:38:48.547661292 +0200 -@@ -30,6 +30,15 @@ const char *x_arm_cpu_string - TargetSave - const char *x_arm_tune_string - -+TargetVariable -+unsigned char arm_arch_specified = 0 -+ -+TargetVariable -+unsigned char arm_cpu_specified = 0 -+ -+TargetVariable -+unsigned char arm_tune_specified = 0 -+ - Enum - Name(tls_type) Type(enum arm_tls_type) - TLS dialect to use: ---- gcc/config/arm/arm.c.jj 2020-09-12 13:36:27.619716335 +0200 -+++ gcc/config/arm/arm.c 2020-09-12 13:49:26.166363387 +0200 -@@ -3181,7 +3181,7 @@ static sbitmap isa_quirkbits; - void - arm_configure_build_target (struct arm_build_target *target, - struct cl_target_option *opts, -- struct gcc_options *opts_set, -+ struct gcc_options */* opts_set */, - bool warn_compatible) - { - const cpu_option *arm_selected_tune = NULL; -@@ -3196,7 +3196,7 @@ arm_configure_build_target (struct arm_b - target->core_name = NULL; - target->arch_name = NULL; - -- if (opts_set->x_arm_arch_string) -+ if (opts->x_arm_arch_specified) - { - arm_selected_arch = arm_parse_arch_option_name (all_architectures, - "-march", -@@ -3204,7 +3204,7 @@ arm_configure_build_target (struct arm_b - arch_opts = strchr (opts->x_arm_arch_string, '+'); - } - -- if (opts_set->x_arm_cpu_string) -+ if (opts->x_arm_cpu_specified) - { - arm_selected_cpu = arm_parse_cpu_option_name (all_cores, "-mcpu", - opts->x_arm_cpu_string); -@@ -3214,7 +3214,7 @@ arm_configure_build_target (struct arm_b - options for tuning. */ - } - -- if (opts_set->x_arm_tune_string) -+ if (opts->x_arm_tune_specified) - { - arm_selected_tune = arm_parse_cpu_option_name (all_cores, "-mtune", - opts->x_arm_tune_string); ---- gcc/common/config/arm/arm-common.c.jj 2020-07-28 15:39:09.705760394 +0200 -+++ gcc/common/config/arm/arm-common.c 2020-09-12 13:50:09.021738456 +0200 -@@ -1021,6 +1021,34 @@ arm_asm_auto_mfpu (int argc, const char - - #undef ARM_CPU_NAME_LENGTH - -+bool -+arm_handle_option (struct gcc_options *opts, -+ struct gcc_options *opts_set ATTRIBUTE_UNUSED, -+ const struct cl_decoded_option *decoded, -+ location_t loc ATTRIBUTE_UNUSED) -+{ -+ size_t code = decoded->opt_index; -+ const char *arg = decoded->arg; -+ int val = decoded->value; -+ -+ switch (code) -+ { -+ case OPT_march_: -+ opts->x_arm_arch_specified = true; -+ return true; -+ -+ case OPT_mcpu_: -+ opts->x_arm_cpu_specified = true; -+ return true; -+ -+ case OPT_mtune_: -+ opts->x_arm_tune_specified = true; -+ return true; -+ -+ default: -+ return true; -+ } -+} - - #undef TARGET_DEFAULT_TARGET_FLAGS - #define TARGET_DEFAULT_TARGET_FLAGS (TARGET_DEFAULT | MASK_SCHED_PROLOG) -@@ -1031,4 +1059,7 @@ arm_asm_auto_mfpu (int argc, const char - #undef TARGET_EXCEPT_UNWIND_INFO - #define TARGET_EXCEPT_UNWIND_INFO arm_except_unwind_info - -+#undef TARGET_HANDLE_OPTION -+#define TARGET_HANDLE_OPTION arm_handle_option -+ - struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; diff --git a/gcc10-pr96939.patch b/gcc10-pr96939.patch deleted file mode 100644 index 4659c3f..0000000 --- a/gcc10-pr96939.patch +++ /dev/null @@ -1,64 +0,0 @@ -2020-09-07 Jakub Jelinek - - PR target/96939 - * config/arm/arm.c (arm_override_options_after_change): Don't call - arm_configure_build_target here. - (arm_set_current_function): Call arm_override_options_after_change_1 - at the end. - - * gcc.target/arm/lto/pr96939_0.c: New test. - * gcc.target/arm/lto/pr96939_1.c: New file. - ---- gcc/config/arm/arm.c.jj 2020-07-30 15:04:38.136293101 +0200 -+++ gcc/config/arm/arm.c 2020-09-07 10:43:54.809561852 +0200 -@@ -3037,10 +3037,6 @@ arm_override_options_after_change_1 (str - static void - arm_override_options_after_change (void) - { -- arm_configure_build_target (&arm_active_target, -- TREE_TARGET_OPTION (target_option_default_node), -- &global_options_set, false); -- - arm_override_options_after_change_1 (&global_options); - } - -@@ -32338,6 +32334,8 @@ arm_set_current_function (tree fndecl) - cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree)); - - save_restore_target_globals (new_tree); -+ -+ arm_override_options_after_change_1 (&global_options); - } - - /* Implement TARGET_OPTION_PRINT. */ ---- gcc/testsuite/gcc.target/arm/lto/pr96939_0.c.jj 2020-09-07 11:26:45.909937609 +0200 -+++ gcc/testsuite/gcc.target/arm/lto/pr96939_0.c 2020-09-07 11:29:18.722706535 +0200 -@@ -0,0 +1,15 @@ -+/* PR target/96939 */ -+/* { dg-lto-do link } */ -+/* { dg-require-effective-target arm_arch_v8a_ok } */ -+/* { dg-lto-options { { -flto -O2 } } } */ -+ -+extern unsigned crc (unsigned, const void *); -+typedef unsigned (*fnptr) (unsigned, const void *); -+volatile fnptr fn; -+ -+int -+main () -+{ -+ fn = crc; -+ return 0; -+} ---- gcc/testsuite/gcc.target/arm/lto/pr96939_1.c.jj 2020-09-07 11:26:49.365887153 +0200 -+++ gcc/testsuite/gcc.target/arm/lto/pr96939_1.c 2020-09-07 11:25:13.885281180 +0200 -@@ -0,0 +1,10 @@ -+/* PR target/96939 */ -+/* { dg-options "-march=armv8-a+crc" } */ -+ -+#include -+ -+unsigned -+crc (unsigned x, const void *y) -+{ -+ return __crc32cw (x, *(unsigned *) y); -+} diff --git a/gcc10-rh1574936.patch b/gcc10-rh1574936.patch deleted file mode 100644 index 6b4be0c..0000000 --- a/gcc10-rh1574936.patch +++ /dev/null @@ -1,30 +0,0 @@ -crt files and statically linked libgcc objects cause false positives -in annobin coverage, so we add the assembler flag to generate notes -for them. - -The patch also adds notes to libgcc_s.so, but this is harmless because -these notes only confer that there is no other annobin markup. - -2018-07-25 Florian Weimer - - * Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add - -Wa,--generate-missing-build-notes=yes. - ---- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100 -+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200 -@@ -246,6 +246,7 @@ LIBGCC2_DEBUG_CFLAGS = -g - LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ - $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \ - -fbuilding-libgcc -fno-stack-protector \ -+ -Wa,--generate-missing-build-notes=yes \ - $(INHIBIT_LIBC_CFLAGS) - - # Additional options to use when compiling libgcc2.a. -@@ -301,6 +302,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN - $(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \ - -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ - -fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \ -+ -Wa,--generate-missing-build-notes=yes \ - $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY) - - # Extra flags to use when compiling crt{begin,end}.o. diff --git a/gcc10-sparc-config-detection.patch b/gcc10-sparc-config-detection.patch deleted file mode 100644 index bb06b35..0000000 --- a/gcc10-sparc-config-detection.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500 -+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500 -@@ -2790,7 +2790,7 @@ sparc-*-rtems*) - tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" - tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems" - ;; --sparc-*-linux*) -+sparc-*-linux* | sparcv9-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" - extra_options="${extra_options} sparc/long-double-switch.opt" - case ${target} in -@@ -2844,7 +2844,7 @@ sparc64-*-rtems*) - extra_options="${extra_options}" - tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64" - ;; --sparc64-*-linux*) -+sparc64*-*-linux*) - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h" - extra_options="${extra_options} sparc/long-double-switch.opt" - tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" ---- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500 -+++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500 -@@ -1002,7 +1002,7 @@ sparc-*-elf*) - tmake_file="${tmake_file} t-fdpbit t-crtfm" - extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" - ;; --sparc-*-linux*) # SPARC's running GNU/Linux, libc6 -+sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6 - tmake_file="${tmake_file} t-crtfm" - if test "${host_address}" = 64; then - tmake_file="$tmake_file sparc/t-linux64" -@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd* - tmake_file="$tmake_file t-crtfm" - extra_parts="$extra_parts crtfastmath.o" - ;; --sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux -+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux - extra_parts="$extra_parts crtfastmath.o" - tmake_file="${tmake_file} t-crtfm sparc/t-linux" - if test "${host_address}" = 64; then diff --git a/gcc11-Wno-format-security.patch b/gcc11-Wno-format-security.patch new file mode 100644 index 0000000..974ea44 --- /dev/null +++ b/gcc11-Wno-format-security.patch @@ -0,0 +1,27 @@ +2017-02-25 Jakub Jelinek + + * configure.ac: When adding -Wno-format, also add -Wno-format-security. + * configure: Regenerated. + +--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100 ++++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100 +@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings, + AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]), + [],[enable_build_format_warnings=yes]) + AS_IF([test $enable_build_format_warnings = no], +- [wf_opt=-Wno-format],[wf_opt=]) ++ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=]) + ACX_PROG_CXX_WARNING_OPTS( + m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ], + [-Wcast-qual -Wno-error=format-diag $wf_opt])), +--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100 ++++ gcc/configure 2017-02-25 12:42:50.041946391 +0100 +@@ -6647,7 +6647,7 @@ else + fi + + if test $enable_build_format_warnings = no; then : +- wf_opt=-Wno-format ++ wf_opt="-Wno-format -Wno-format-security" + else + wf_opt= + fi diff --git a/gcc11-d-shared-libphobos.patch b/gcc11-d-shared-libphobos.patch new file mode 100644 index 0000000..6384bbb --- /dev/null +++ b/gcc11-d-shared-libphobos.patch @@ -0,0 +1,20 @@ +2019-01-17 Jakub Jelinek + + * d-spec.cc (lang_specific_driver): Make -shared-libphobos + the default rather than -static-libphobos. + +--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100 ++++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100 +@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option + /* Add `-lgphobos' if we haven't already done so. */ + if (phobos_library != PHOBOS_NOLINK) + { +- /* Default to static linking. */ +- if (phobos_library != PHOBOS_DYNAMIC) +- phobos_library = PHOBOS_STATIC; ++ /* Default to shared linking. */ ++ if (phobos_library != PHOBOS_STATIC) ++ phobos_library = PHOBOS_DYNAMIC; + + #ifdef HAVE_LD_STATIC_DYNAMIC + if (phobos_library == PHOBOS_STATIC && !static_link) diff --git a/gcc11-foffload-default.patch b/gcc11-foffload-default.patch new file mode 100644 index 0000000..3329d2a --- /dev/null +++ b/gcc11-foffload-default.patch @@ -0,0 +1,116 @@ +2019-01-17 Jakub Jelinek + + * gcc.c (offload_targets_default): New variable. + (process_command): Set it if -foffload is defaulted. + (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1 + into environment if -foffload has been defaulted. + * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define. + (compile_offload_image): If OFFLOAD_TARGET_DEFAULT + is in the environment, don't fail if corresponding mkoffload + can't be found. + (compile_images_for_offload_targets): Likewise. Free and clear + offload_names if no valid offload is found. +libgomp/ + * target.c (gomp_load_plugin_for_device): If a plugin can't be + dlopened, assume it has no devices silently. + +--- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100 ++++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100 +@@ -290,6 +290,10 @@ static const char *spec_host_machine = D + + static char *offload_targets = NULL; + ++/* Set to true if -foffload has not been used and offload_targets ++ is set to the configured in default. */ ++static bool offload_targets_default; ++ + /* Nonzero if cross-compiling. + When -b is used, the value comes from the `specs' file. */ + +@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op + /* If the user didn't specify any, default to all configured offload + targets. */ + if (ENABLE_OFFLOADING && offload_targets == NULL) +- handle_foffload_option (OFFLOAD_TARGETS); ++ { ++ handle_foffload_option (OFFLOAD_TARGETS); ++ offload_targets_default = true; ++ } + + if (output_file + && strcmp (output_file, "-") != 0 +@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS () + obstack_grow (&collect_obstack, offload_targets, + strlen (offload_targets) + 1); + xputenv (XOBFINISH (&collect_obstack, char *)); ++ if (offload_targets_default) ++ xputenv ("OFFLOAD_TARGET_DEFAULT=1"); + } + + free (offload_targets); +--- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100 ++++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100 +@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. + /* Environment variable, used for passing the names of offload targets from GCC + driver to lto-wrapper. */ + #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES" ++#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT" + + /* By default there is no special suffix for target executables. */ + #ifdef TARGET_EXECUTABLE_SUFFIX +@@ -906,6 +907,12 @@ compile_offload_image (const char *targe + break; + } + ++ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV)) ++ { ++ free_array_of_ptrs ((void **) paths, n_paths); ++ return NULL; ++ } ++ + if (!compiler) + fatal_error (input_location, + "could not find %s in %s (consider using %<-B%>)", +@@ -975,6 +982,7 @@ compile_images_for_offload_targets (unsi + if (!target_names) + return; + unsigned num_targets = parse_env_var (target_names, &names, NULL); ++ int next_name_entry = 0; + + const char *compiler_path = getenv ("COMPILER_PATH"); + if (!compiler_path) +@@ -985,13 +993,19 @@ compile_images_for_offload_targets (unsi + offload_names = XCNEWVEC (char *, num_targets + 1); + for (unsigned i = 0; i < num_targets; i++) + { +- offload_names[i] ++ offload_names[next_name_entry] + = compile_offload_image (names[i], compiler_path, in_argc, in_argv, + compiler_opts, compiler_opt_count, + linker_opts, linker_opt_count); +- if (!offload_names[i]) +- fatal_error (input_location, +- "problem with building target image for %s", names[i]); ++ if (!offload_names[next_name_entry]) ++ continue; ++ next_name_entry++; ++ } ++ ++ if (next_name_entry == 0) ++ { ++ free (offload_names); ++ offload_names = NULL; + } + + out: +--- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100 ++++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100 +@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp + + void *plugin_handle = dlopen (plugin_name, RTLD_LAZY); + if (!plugin_handle) +- goto dl_fail; ++ return 0; + + /* Check if all required functions are available in the plugin and store + their handlers. None of the symbols can legitimately be NULL, diff --git a/gcc11-hack.patch b/gcc11-hack.patch new file mode 100644 index 0000000..ba80c24 --- /dev/null +++ b/gcc11-hack.patch @@ -0,0 +1,126 @@ +--- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100 ++++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100 +@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $( + libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) + ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) + ++DEFAULTMULTIFLAGS := ++ifeq ($(MULTISUBDIR),) ++targ:=$(subst -, ,$(target)) ++arch:=$(word 1,$(targ)) ++ifeq ($(words $(targ)),2) ++osys:=$(word 2,$(targ)) ++else ++osys:=$(word 3,$(targ)) ++endif ++ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),) ++ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64) ++DEFAULTMULTIFLAGS := -m64 ++else ++ifeq ($(strip $(filter-out s390%, $(arch))),) ++DEFAULTMULTIFLAGS := -m31 ++else ++DEFAULTMULTIFLAGS := -m32 ++endif ++endif ++endif ++endif ++ + # exeext should not be used because it's the *host* exeext. We're building + # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus + # definitions just in case something slips through the safety net provided + # by recursive make invocations in gcc/ada/Makefile.in + LIBADA_FLAGS_TO_PASS = \ + "MAKEOVERRIDES=" \ +- "LDFLAGS=$(LDFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \ + "LN_S=$(LN_S)" \ + "SHELL=$(SHELL)" \ +- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ +- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ +- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ ++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ ++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG)" \ + "THREAD_KIND=$(THREAD_KIND)" \ + "TRACE=$(TRACE)" \ +@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \ + "exeext=.exeext.should.not.be.used " \ + 'CC=the.host.compiler.should.not.be.needed' \ + "GCC_FOR_TARGET=$(CC)" \ +- "CFLAGS=$(CFLAGS)" ++ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)" + + .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool + +--- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100 ++++ config-ml.in 2019-01-11 18:16:23.442726914 +0100 +@@ -511,6 +511,8 @@ multi-do: + ADAFLAGS="$(ADAFLAGS) $${flags}" \ + prefix="$(prefix)" \ + exec_prefix="$(exec_prefix)" \ ++ mandir="$(mandir)" \ ++ infodir="$(infodir)" \ + GOCFLAGS="$(GOCFLAGS) $${flags}" \ + GDCFLAGS="$(GDCFLAGS) $${flags}" \ + CXXFLAGS="$(CXXFLAGS) $${flags}" \ +--- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100 ++++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100 +@@ -3256,8 +3256,6 @@ static cpp_macro * + create_iso_definition (cpp_reader *pfile) + { + bool following_paste_op = false; +- const char *paste_op_error_msg = +- N_("'##' cannot appear at either end of a macro expansion"); + unsigned int num_extra_tokens = 0; + unsigned nparms = 0; + cpp_hashnode **params = NULL; +@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile + function-like macros, but not at the end. */ + if (following_paste_op) + { +- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); ++ cpp_error (pfile, CPP_DL_ERROR, ++ "'##' cannot appear at either end of a macro " ++ "expansion"); + goto out; + } + if (!vaopt_tracker.completed ()) +@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile + function-like macros, but not at the beginning. */ + if (macro->count == 1) + { +- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); ++ cpp_error (pfile, CPP_DL_ERROR, ++ "'##' cannot appear at either end of a macro " ++ "expansion"); + goto out; + } + +--- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100 ++++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100 +@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile, + if ((result & CPP_N_WIDTH) == CPP_N_LARGE + && CPP_OPTION (pfile, cpp_warn_long_long)) + { +- const char *message = CPP_OPTION (pfile, cplusplus) +- ? N_("use of C++11 long long integer constant") +- : N_("use of C99 long long integer constant"); +- + if (CPP_OPTION (pfile, c99)) + cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location, +- 0, message); ++ 0, CPP_OPTION (pfile, cplusplus) ++ ? N_("use of C++11 long long integer constant") ++ : N_("use of C99 long long integer constant")); + else + cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, +- virtual_location, 0, message); ++ virtual_location, 0, ++ CPP_OPTION (pfile, cplusplus) ++ ? N_("use of C++11 long long integer constant") ++ : N_("use of C99 long long integer constant")); + } + + result |= CPP_N_INTEGER; diff --git a/gcc11-i386-libgomp.patch b/gcc11-i386-libgomp.patch new file mode 100644 index 0000000..520561e --- /dev/null +++ b/gcc11-i386-libgomp.patch @@ -0,0 +1,11 @@ +--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100 ++++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100 +@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then + ;; + *) + if test -z "$with_arch"; then +- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" ++ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" + fi + esac + ;; diff --git a/gcc11-isl-dl.patch b/gcc11-isl-dl.patch new file mode 100644 index 0000000..b3982f9 --- /dev/null +++ b/gcc11-isl-dl.patch @@ -0,0 +1,716 @@ +--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200 ++++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100 +@@ -1063,7 +1063,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) + # and the system's installed libraries. + LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \ + $(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS) +-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ ++BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ + $(ZLIB) $(ZSTD_LIB) + # Any system libraries needed just for GNAT. + SYSLIBS = @GNAT_LIBEXC@ +@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file) + $(common_out_object_file): $(common_out_file) + $(COMPILE) $< + $(POSTCOMPILE) ++ ++graphite%.o : \ ++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) ++graphite.o : \ ++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) ++graphite%.o : \ ++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) ++graphite.o : \ ++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) + # + # Generate header and source files from the machine description, + # and compile them. +--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100 ++++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100 +@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3. + + #include "sese.h" + ++#include ++#include ++ ++#define DYNSYMS \ ++ DYNSYM (isl_aff_add_coefficient_si); \ ++ DYNSYM (isl_aff_free); \ ++ DYNSYM (isl_aff_get_space); \ ++ DYNSYM (isl_aff_set_coefficient_si); \ ++ DYNSYM (isl_aff_set_constant_si); \ ++ DYNSYM (isl_aff_zero_on_domain); \ ++ DYNSYM (isl_band_free); \ ++ DYNSYM (isl_band_get_children); \ ++ DYNSYM (isl_band_get_partial_schedule); \ ++ DYNSYM (isl_band_has_children); \ ++ DYNSYM (isl_band_list_free); \ ++ DYNSYM (isl_band_list_get_band); \ ++ DYNSYM (isl_band_list_get_ctx); \ ++ DYNSYM (isl_band_list_n_band); \ ++ DYNSYM (isl_band_n_member); \ ++ DYNSYM (isl_basic_map_add_constraint); \ ++ DYNSYM (isl_basic_map_project_out); \ ++ DYNSYM (isl_basic_map_universe); \ ++ DYNSYM (isl_constraint_set_coefficient_si); \ ++ DYNSYM (isl_constraint_set_constant_si); \ ++ DYNSYM (isl_ctx_alloc); \ ++ DYNSYM (isl_ctx_free); \ ++ DYNSYM (isl_equality_alloc); \ ++ DYNSYM (isl_id_alloc); \ ++ DYNSYM (isl_id_copy); \ ++ DYNSYM (isl_id_free); \ ++ DYNSYM (isl_inequality_alloc); \ ++ DYNSYM (isl_local_space_copy); \ ++ DYNSYM (isl_local_space_free); \ ++ DYNSYM (isl_local_space_from_space); \ ++ DYNSYM (isl_local_space_range); \ ++ DYNSYM (isl_map_add_constraint); \ ++ DYNSYM (isl_map_add_dims); \ ++ DYNSYM (isl_map_align_params); \ ++ DYNSYM (isl_map_apply_range); \ ++ DYNSYM (isl_map_copy); \ ++ DYNSYM (isl_map_dim); \ ++ DYNSYM (isl_map_dump); \ ++ DYNSYM (isl_map_equate); \ ++ DYNSYM (isl_map_fix_si); \ ++ DYNSYM (isl_map_flat_product); \ ++ DYNSYM (isl_map_flat_range_product); \ ++ DYNSYM (isl_map_free); \ ++ DYNSYM (isl_map_from_basic_map); \ ++ DYNSYM (isl_map_from_pw_aff); \ ++ DYNSYM (isl_map_from_union_map); \ ++ DYNSYM (isl_map_get_ctx); \ ++ DYNSYM (isl_map_get_space); \ ++ DYNSYM (isl_map_get_tuple_id); \ ++ DYNSYM (isl_map_insert_dims); \ ++ DYNSYM (isl_map_intersect); \ ++ DYNSYM (isl_map_intersect_domain); \ ++ DYNSYM (isl_map_intersect_range); \ ++ DYNSYM (isl_map_is_empty); \ ++ DYNSYM (isl_map_lex_ge); \ ++ DYNSYM (isl_map_lex_le); \ ++ DYNSYM (isl_map_n_out); \ ++ DYNSYM (isl_map_range); \ ++ DYNSYM (isl_map_set_tuple_id); \ ++ DYNSYM (isl_map_universe); \ ++ DYNSYM (isl_options_set_on_error); \ ++ DYNSYM (isl_options_set_schedule_serialize_sccs); \ ++ DYNSYM (isl_printer_set_yaml_style); \ ++ DYNSYM (isl_options_set_schedule_max_constant_term); \ ++ DYNSYM (isl_options_set_schedule_maximize_band_depth); \ ++ DYNSYM (isl_printer_free); \ ++ DYNSYM (isl_printer_print_aff); \ ++ DYNSYM (isl_printer_print_constraint); \ ++ DYNSYM (isl_printer_print_map); \ ++ DYNSYM (isl_printer_print_set); \ ++ DYNSYM (isl_printer_to_file); \ ++ DYNSYM (isl_pw_aff_add); \ ++ DYNSYM (isl_pw_aff_alloc); \ ++ DYNSYM (isl_pw_aff_copy); \ ++ DYNSYM (isl_pw_aff_eq_set); \ ++ DYNSYM (isl_pw_aff_free); \ ++ DYNSYM (isl_pw_aff_from_aff); \ ++ DYNSYM (isl_pw_aff_ge_set); \ ++ DYNSYM (isl_pw_aff_gt_set); \ ++ DYNSYM (isl_pw_aff_is_cst); \ ++ DYNSYM (isl_pw_aff_le_set); \ ++ DYNSYM (isl_pw_aff_lt_set); \ ++ DYNSYM (isl_pw_aff_mul); \ ++ DYNSYM (isl_pw_aff_ne_set); \ ++ DYNSYM (isl_pw_aff_nonneg_set); \ ++ DYNSYM (isl_pw_aff_set_tuple_id); \ ++ DYNSYM (isl_pw_aff_sub); \ ++ DYNSYM (isl_pw_aff_zero_set); \ ++ DYNSYM (isl_schedule_free); \ ++ DYNSYM (isl_schedule_get_band_forest); \ ++ DYNSYM (isl_set_add_constraint); \ ++ DYNSYM (isl_set_add_dims); \ ++ DYNSYM (isl_set_apply); \ ++ DYNSYM (isl_set_coalesce); \ ++ DYNSYM (isl_set_copy); \ ++ DYNSYM (isl_set_dim); \ ++ DYNSYM (isl_set_fix_si); \ ++ DYNSYM (isl_set_free); \ ++ DYNSYM (isl_set_get_space); \ ++ DYNSYM (isl_set_get_tuple_id); \ ++ DYNSYM (isl_set_intersect); \ ++ DYNSYM (isl_set_is_empty); \ ++ DYNSYM (isl_set_n_dim); \ ++ DYNSYM (isl_set_nat_universe); \ ++ DYNSYM (isl_set_project_out); \ ++ DYNSYM (isl_set_set_tuple_id); \ ++ DYNSYM (isl_set_universe); \ ++ DYNSYM (isl_space_add_dims); \ ++ DYNSYM (isl_space_alloc); \ ++ DYNSYM (isl_space_copy); \ ++ DYNSYM (isl_space_dim); \ ++ DYNSYM (isl_space_domain); \ ++ DYNSYM (isl_space_find_dim_by_id); \ ++ DYNSYM (isl_space_free); \ ++ DYNSYM (isl_space_from_domain); \ ++ DYNSYM (isl_space_get_tuple_id); \ ++ DYNSYM (isl_space_params_alloc); \ ++ DYNSYM (isl_space_range); \ ++ DYNSYM (isl_space_set_alloc); \ ++ DYNSYM (isl_space_set_dim_id); \ ++ DYNSYM (isl_space_set_tuple_id); \ ++ DYNSYM (isl_union_map_add_map); \ ++ DYNSYM (isl_union_map_align_params); \ ++ DYNSYM (isl_union_map_apply_domain); \ ++ DYNSYM (isl_union_map_apply_range); \ ++ DYNSYM (isl_union_map_compute_flow); \ ++ DYNSYM (isl_union_map_copy); \ ++ DYNSYM (isl_union_map_empty); \ ++ DYNSYM (isl_union_map_flat_range_product); \ ++ DYNSYM (isl_union_map_foreach_map); \ ++ DYNSYM (isl_union_map_free); \ ++ DYNSYM (isl_union_map_from_map); \ ++ DYNSYM (isl_union_map_get_ctx); \ ++ DYNSYM (isl_union_map_get_space); \ ++ DYNSYM (isl_union_map_gist_domain); \ ++ DYNSYM (isl_union_map_gist_range); \ ++ DYNSYM (isl_union_map_intersect_domain); \ ++ DYNSYM (isl_union_map_is_empty); \ ++ DYNSYM (isl_union_map_subtract); \ ++ DYNSYM (isl_union_map_union); \ ++ DYNSYM (isl_union_set_add_set); \ ++ DYNSYM (isl_union_set_compute_schedule); \ ++ DYNSYM (isl_union_set_copy); \ ++ DYNSYM (isl_union_set_empty); \ ++ DYNSYM (isl_union_set_from_set); \ ++ DYNSYM (isl_aff_add_constant_val); \ ++ DYNSYM (isl_aff_get_coefficient_val); \ ++ DYNSYM (isl_aff_get_ctx); \ ++ DYNSYM (isl_aff_mod_val); \ ++ DYNSYM (isl_ast_build_ast_from_schedule); \ ++ DYNSYM (isl_ast_build_free); \ ++ DYNSYM (isl_ast_build_from_context); \ ++ DYNSYM (isl_ast_build_get_ctx); \ ++ DYNSYM (isl_ast_build_get_schedule); \ ++ DYNSYM (isl_ast_build_get_schedule_space); \ ++ DYNSYM (isl_ast_build_set_before_each_for); \ ++ DYNSYM (isl_ast_build_set_options); \ ++ DYNSYM (isl_ast_expr_free); \ ++ DYNSYM (isl_ast_expr_from_val); \ ++ DYNSYM (isl_ast_expr_get_ctx); \ ++ DYNSYM (isl_ast_expr_get_id); \ ++ DYNSYM (isl_ast_expr_get_op_arg); \ ++ DYNSYM (isl_ast_expr_get_op_n_arg); \ ++ DYNSYM (isl_ast_expr_get_op_type); \ ++ DYNSYM (isl_ast_expr_get_type); \ ++ DYNSYM (isl_ast_expr_get_val); \ ++ DYNSYM (isl_ast_expr_sub); \ ++ DYNSYM (isl_ast_node_block_get_children); \ ++ DYNSYM (isl_ast_node_for_get_body); \ ++ DYNSYM (isl_ast_node_for_get_cond); \ ++ DYNSYM (isl_ast_node_for_get_inc); \ ++ DYNSYM (isl_ast_node_for_get_init); \ ++ DYNSYM (isl_ast_node_for_get_iterator); \ ++ DYNSYM (isl_ast_node_free); \ ++ DYNSYM (isl_ast_node_get_annotation); \ ++ DYNSYM (isl_ast_node_get_type); \ ++ DYNSYM (isl_ast_node_if_get_cond); \ ++ DYNSYM (isl_ast_node_if_get_else); \ ++ DYNSYM (isl_ast_node_if_get_then); \ ++ DYNSYM (isl_ast_node_list_free); \ ++ DYNSYM (isl_ast_node_list_get_ast_node); \ ++ DYNSYM (isl_ast_node_list_n_ast_node); \ ++ DYNSYM (isl_ast_node_user_get_expr); \ ++ DYNSYM (isl_constraint_set_coefficient_val); \ ++ DYNSYM (isl_constraint_set_constant_val); \ ++ DYNSYM (isl_id_get_user); \ ++ DYNSYM (isl_local_space_get_ctx); \ ++ DYNSYM (isl_map_fix_val); \ ++ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \ ++ DYNSYM (isl_printer_print_ast_node); \ ++ DYNSYM (isl_printer_print_str); \ ++ DYNSYM (isl_printer_set_output_format); \ ++ DYNSYM (isl_pw_aff_mod_val); \ ++ DYNSYM (isl_schedule_constraints_compute_schedule); \ ++ DYNSYM (isl_schedule_constraints_on_domain); \ ++ DYNSYM (isl_schedule_constraints_set_coincidence); \ ++ DYNSYM (isl_schedule_constraints_set_proximity); \ ++ DYNSYM (isl_schedule_constraints_set_validity); \ ++ DYNSYM (isl_set_get_dim_id); \ ++ DYNSYM (isl_set_max_val); \ ++ DYNSYM (isl_set_min_val); \ ++ DYNSYM (isl_set_params); \ ++ DYNSYM (isl_space_align_params); \ ++ DYNSYM (isl_space_map_from_domain_and_range); \ ++ DYNSYM (isl_space_set_tuple_name); \ ++ DYNSYM (isl_space_wrap); \ ++ DYNSYM (isl_union_map_from_domain_and_range); \ ++ DYNSYM (isl_union_map_range); \ ++ DYNSYM (isl_union_set_union); \ ++ DYNSYM (isl_union_set_universe); \ ++ DYNSYM (isl_val_2exp); \ ++ DYNSYM (isl_val_add_ui); \ ++ DYNSYM (isl_val_copy); \ ++ DYNSYM (isl_val_free); \ ++ DYNSYM (isl_val_int_from_si); \ ++ DYNSYM (isl_val_int_from_ui); \ ++ DYNSYM (isl_val_mul); \ ++ DYNSYM (isl_val_neg); \ ++ DYNSYM (isl_val_sub); \ ++ DYNSYM (isl_printer_print_union_map); \ ++ DYNSYM (isl_pw_aff_get_ctx); \ ++ DYNSYM (isl_val_is_int); \ ++ DYNSYM (isl_ctx_get_max_operations); \ ++ DYNSYM (isl_ctx_set_max_operations); \ ++ DYNSYM (isl_ctx_last_error); \ ++ DYNSYM (isl_ctx_reset_operations); \ ++ DYNSYM (isl_map_coalesce); \ ++ DYNSYM (isl_printer_print_schedule); \ ++ DYNSYM (isl_set_set_dim_id); \ ++ DYNSYM (isl_union_map_coalesce); \ ++ DYNSYM (isl_multi_val_set_val); \ ++ DYNSYM (isl_multi_val_zero); \ ++ DYNSYM (isl_options_set_schedule_max_coefficient); \ ++ DYNSYM (isl_options_set_tile_scale_tile_loops); \ ++ DYNSYM (isl_schedule_copy); \ ++ DYNSYM (isl_schedule_get_map); \ ++ DYNSYM (isl_schedule_map_schedule_node_bottom_up); \ ++ DYNSYM (isl_schedule_node_band_get_permutable); \ ++ DYNSYM (isl_schedule_node_band_get_space); \ ++ DYNSYM (isl_schedule_node_band_tile); \ ++ DYNSYM (isl_schedule_node_child); \ ++ DYNSYM (isl_schedule_node_free); \ ++ DYNSYM (isl_schedule_node_get_child); \ ++ DYNSYM (isl_schedule_node_get_ctx); \ ++ DYNSYM (isl_schedule_node_get_type); \ ++ DYNSYM (isl_schedule_node_n_children); \ ++ DYNSYM (isl_union_map_is_equal); \ ++ DYNSYM (isl_union_access_info_compute_flow); \ ++ DYNSYM (isl_union_access_info_from_sink); \ ++ DYNSYM (isl_union_access_info_set_may_source); \ ++ DYNSYM (isl_union_access_info_set_must_source); \ ++ DYNSYM (isl_union_access_info_set_schedule); \ ++ DYNSYM (isl_union_flow_free); \ ++ DYNSYM (isl_union_flow_get_may_dependence); \ ++ DYNSYM (isl_union_flow_get_must_dependence); \ ++ DYNSYM (isl_aff_var_on_domain); \ ++ DYNSYM (isl_multi_aff_from_aff); \ ++ DYNSYM (isl_schedule_get_ctx); \ ++ DYNSYM (isl_multi_aff_set_tuple_id); \ ++ DYNSYM (isl_multi_aff_dim); \ ++ DYNSYM (isl_schedule_get_domain); \ ++ DYNSYM (isl_union_set_is_empty); \ ++ DYNSYM (isl_union_set_get_space); \ ++ DYNSYM (isl_union_pw_multi_aff_empty); \ ++ DYNSYM (isl_union_set_foreach_set); \ ++ DYNSYM (isl_union_set_free); \ ++ DYNSYM (isl_multi_union_pw_aff_from_union_pw_multi_aff); \ ++ DYNSYM (isl_multi_union_pw_aff_apply_multi_aff); \ ++ DYNSYM (isl_schedule_insert_partial_schedule); \ ++ DYNSYM (isl_union_pw_multi_aff_free); \ ++ DYNSYM (isl_pw_multi_aff_project_out_map); \ ++ DYNSYM (isl_union_pw_multi_aff_add_pw_multi_aff); \ ++ DYNSYM (isl_schedule_from_domain); \ ++ DYNSYM (isl_schedule_sequence); \ ++ DYNSYM (isl_ast_build_node_from_schedule); \ ++ DYNSYM (isl_ast_node_mark_get_node); \ ++ DYNSYM (isl_schedule_node_band_member_get_ast_loop_type); \ ++ DYNSYM (isl_schedule_node_band_member_set_ast_loop_type); \ ++ DYNSYM (isl_val_n_abs_num_chunks); \ ++ DYNSYM (isl_val_get_abs_num_chunks); \ ++ DYNSYM (isl_val_int_from_chunks); \ ++ DYNSYM (isl_val_is_neg); \ ++ DYNSYM (isl_version); \ ++ DYNSYM (isl_options_get_on_error); \ ++ DYNSYM (isl_ctx_reset_error); ++ ++extern struct isl_pointers_s__ ++{ ++ bool inited; ++ void *h; ++#define DYNSYM(x) __typeof (x) *p_##x ++ DYNSYMS ++#undef DYNSYM ++} isl_pointers__; ++ ++#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si) ++#define isl_aff_free (*isl_pointers__.p_isl_aff_free) ++#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space) ++#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si) ++#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si) ++#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain) ++#define isl_band_free (*isl_pointers__.p_isl_band_free) ++#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children) ++#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule) ++#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children) ++#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free) ++#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band) ++#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx) ++#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band) ++#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member) ++#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint) ++#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out) ++#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe) ++#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si) ++#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si) ++#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc) ++#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free) ++#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc) ++#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc) ++#define isl_id_copy (*isl_pointers__.p_isl_id_copy) ++#define isl_id_free (*isl_pointers__.p_isl_id_free) ++#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc) ++#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy) ++#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free) ++#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space) ++#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range) ++#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint) ++#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims) ++#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params) ++#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range) ++#define isl_map_copy (*isl_pointers__.p_isl_map_copy) ++#define isl_map_dim (*isl_pointers__.p_isl_map_dim) ++#define isl_map_dump (*isl_pointers__.p_isl_map_dump) ++#define isl_map_equate (*isl_pointers__.p_isl_map_equate) ++#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si) ++#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product) ++#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product) ++#define isl_map_free (*isl_pointers__.p_isl_map_free) ++#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map) ++#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff) ++#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map) ++#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx) ++#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space) ++#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id) ++#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims) ++#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect) ++#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain) ++#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range) ++#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty) ++#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge) ++#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le) ++#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out) ++#define isl_map_range (*isl_pointers__.p_isl_map_range) ++#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id) ++#define isl_map_universe (*isl_pointers__.p_isl_map_universe) ++#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error) ++#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs) ++#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style) ++#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term) ++#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth) ++#define isl_printer_free (*isl_pointers__.p_isl_printer_free) ++#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff) ++#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint) ++#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map) ++#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set) ++#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file) ++#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add) ++#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc) ++#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy) ++#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set) ++#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free) ++#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff) ++#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set) ++#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set) ++#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst) ++#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set) ++#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set) ++#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul) ++#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set) ++#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set) ++#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id) ++#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub) ++#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set) ++#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free) ++#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest) ++#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint) ++#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims) ++#define isl_set_apply (*isl_pointers__.p_isl_set_apply) ++#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce) ++#define isl_set_copy (*isl_pointers__.p_isl_set_copy) ++#define isl_set_dim (*isl_pointers__.p_isl_set_dim) ++#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si) ++#define isl_set_free (*isl_pointers__.p_isl_set_free) ++#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space) ++#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id) ++#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect) ++#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty) ++#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim) ++#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe) ++#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out) ++#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id) ++#define isl_set_universe (*isl_pointers__.p_isl_set_universe) ++#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims) ++#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc) ++#define isl_space_copy (*isl_pointers__.p_isl_space_copy) ++#define isl_space_dim (*isl_pointers__.p_isl_space_dim) ++#define isl_space_domain (*isl_pointers__.p_isl_space_domain) ++#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id) ++#define isl_space_free (*isl_pointers__.p_isl_space_free) ++#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain) ++#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id) ++#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc) ++#define isl_space_range (*isl_pointers__.p_isl_space_range) ++#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc) ++#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id) ++#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id) ++#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map) ++#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params) ++#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain) ++#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range) ++#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow) ++#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy) ++#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty) ++#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product) ++#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map) ++#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free) ++#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map) ++#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx) ++#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space) ++#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain) ++#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range) ++#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain) ++#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty) ++#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract) ++#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union) ++#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set) ++#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule) ++#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy) ++#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty) ++#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set) ++#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val) ++#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val) ++#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx) ++#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val) ++#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule) ++#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free) ++#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context) ++#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx) ++#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule) ++#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space) ++#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for) ++#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options) ++#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free) ++#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val) ++#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx) ++#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id) ++#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg) ++#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg) ++#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type) ++#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type) ++#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val) ++#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub) ++#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children) ++#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body) ++#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond) ++#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc) ++#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init) ++#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator) ++#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free) ++#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation) ++#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type) ++#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond) ++#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else) ++#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then) ++#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free) ++#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node) ++#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node) ++#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr) ++#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val) ++#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val) ++#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user) ++#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx) ++#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val) ++#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound) ++#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node) ++#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str) ++#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format) ++#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val) ++#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule) ++#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain) ++#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence) ++#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity) ++#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity) ++#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id) ++#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val) ++#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val) ++#define isl_set_params (*isl_pointers__.p_isl_set_params) ++#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params) ++#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range) ++#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name) ++#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap) ++#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range) ++#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range) ++#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union) ++#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe) ++#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp) ++#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui) ++#define isl_val_copy (*isl_pointers__.p_isl_val_copy) ++#define isl_val_free (*isl_pointers__.p_isl_val_free) ++#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si) ++#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui) ++#define isl_val_mul (*isl_pointers__.p_isl_val_mul) ++#define isl_val_neg (*isl_pointers__.p_isl_val_neg) ++#define isl_val_sub (*isl_pointers__.p_isl_val_sub) ++#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map) ++#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx) ++#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int) ++#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations) ++#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations) ++#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error) ++#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations) ++#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce) ++#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule) ++#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id) ++#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce) ++#define isl_multi_val_set_val (*isl_pointers__.p_isl_multi_val_set_val) ++#define isl_multi_val_zero (*isl_pointers__.p_isl_multi_val_zero) ++#define isl_options_set_schedule_max_coefficient (*isl_pointers__.p_isl_options_set_schedule_max_coefficient) ++#define isl_options_set_tile_scale_tile_loops (*isl_pointers__.p_isl_options_set_tile_scale_tile_loops) ++#define isl_schedule_copy (*isl_pointers__.p_isl_schedule_copy) ++#define isl_schedule_get_map (*isl_pointers__.p_isl_schedule_get_map) ++#define isl_schedule_map_schedule_node_bottom_up (*isl_pointers__.p_isl_schedule_map_schedule_node_bottom_up) ++#define isl_schedule_node_band_get_permutable (*isl_pointers__.p_isl_schedule_node_band_get_permutable) ++#define isl_schedule_node_band_get_space (*isl_pointers__.p_isl_schedule_node_band_get_space) ++#define isl_schedule_node_band_tile (*isl_pointers__.p_isl_schedule_node_band_tile) ++#define isl_schedule_node_child (*isl_pointers__.p_isl_schedule_node_child) ++#define isl_schedule_node_free (*isl_pointers__.p_isl_schedule_node_free) ++#define isl_schedule_node_get_child (*isl_pointers__.p_isl_schedule_node_get_child) ++#define isl_schedule_node_get_ctx (*isl_pointers__.p_isl_schedule_node_get_ctx) ++#define isl_schedule_node_get_type (*isl_pointers__.p_isl_schedule_node_get_type) ++#define isl_schedule_node_n_children (*isl_pointers__.p_isl_schedule_node_n_children) ++#define isl_union_map_is_equal (*isl_pointers__.p_isl_union_map_is_equal) ++#define isl_union_access_info_compute_flow (*isl_pointers__.p_isl_union_access_info_compute_flow) ++#define isl_union_access_info_from_sink (*isl_pointers__.p_isl_union_access_info_from_sink) ++#define isl_union_access_info_set_may_source (*isl_pointers__.p_isl_union_access_info_set_may_source) ++#define isl_union_access_info_set_must_source (*isl_pointers__.p_isl_union_access_info_set_must_source) ++#define isl_union_access_info_set_schedule (*isl_pointers__.p_isl_union_access_info_set_schedule) ++#define isl_union_flow_free (*isl_pointers__.p_isl_union_flow_free) ++#define isl_union_flow_get_may_dependence (*isl_pointers__.p_isl_union_flow_get_may_dependence) ++#define isl_union_flow_get_must_dependence (*isl_pointers__.p_isl_union_flow_get_must_dependence) ++#define isl_aff_var_on_domain (*isl_pointers__.p_isl_aff_var_on_domain) ++#define isl_multi_aff_from_aff (*isl_pointers__.p_isl_multi_aff_from_aff) ++#define isl_schedule_get_ctx (*isl_pointers__.p_isl_schedule_get_ctx) ++#define isl_multi_aff_set_tuple_id (*isl_pointers__.p_isl_multi_aff_set_tuple_id) ++#define isl_multi_aff_dim (*isl_pointers__.p_isl_multi_aff_dim) ++#define isl_schedule_get_domain (*isl_pointers__.p_isl_schedule_get_domain) ++#define isl_union_set_is_empty (*isl_pointers__.p_isl_union_set_is_empty) ++#define isl_union_set_get_space (*isl_pointers__.p_isl_union_set_get_space) ++#define isl_union_pw_multi_aff_empty (*isl_pointers__.p_isl_union_pw_multi_aff_empty) ++#define isl_union_set_foreach_set (*isl_pointers__.p_isl_union_set_foreach_set) ++#define isl_union_set_free (*isl_pointers__.p_isl_union_set_free) ++#define isl_multi_union_pw_aff_from_union_pw_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_from_union_pw_multi_aff) ++#define isl_multi_union_pw_aff_apply_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_apply_multi_aff) ++#define isl_schedule_insert_partial_schedule (*isl_pointers__.p_isl_schedule_insert_partial_schedule) ++#define isl_union_pw_multi_aff_free (*isl_pointers__.p_isl_union_pw_multi_aff_free) ++#define isl_pw_multi_aff_project_out_map (*isl_pointers__.p_isl_pw_multi_aff_project_out_map) ++#define isl_union_pw_multi_aff_add_pw_multi_aff (*isl_pointers__.p_isl_union_pw_multi_aff_add_pw_multi_aff) ++#define isl_schedule_from_domain (*isl_pointers__.p_isl_schedule_from_domain) ++#define isl_schedule_sequence (*isl_pointers__.p_isl_schedule_sequence) ++#define isl_ast_build_node_from_schedule (*isl_pointers__.p_isl_ast_build_node_from_schedule) ++#define isl_ast_node_mark_get_node (*isl_pointers__.p_isl_ast_node_mark_get_node) ++#define isl_schedule_node_band_member_get_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_get_ast_loop_type) ++#define isl_schedule_node_band_member_set_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_set_ast_loop_type) ++#define isl_val_n_abs_num_chunks (*isl_pointers__.p_isl_val_n_abs_num_chunks) ++#define isl_val_get_abs_num_chunks (*isl_pointers__.p_isl_val_get_abs_num_chunks) ++#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks) ++#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg) ++#define isl_version (*isl_pointers__.p_isl_version) ++#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error) ++#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error) ++ + typedef struct poly_dr *poly_dr_p; + + typedef struct poly_bb *poly_bb_p; +@@ -448,5 +1033,6 @@ extern tree cached_scalar_evolution_in_r + extern void dot_all_sese (FILE *, vec &); + extern void dot_sese (sese_l &); + extern void dot_cfg (); ++extern const char *get_isl_version (bool); + + #endif +--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100 ++++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100 +@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3. + #include "tree-into-ssa.h" + #include "graphite.h" + ++__typeof (isl_pointers__) isl_pointers__; ++ ++static bool ++init_isl_pointers (void) ++{ ++ void *h; ++ ++ if (isl_pointers__.inited) ++ return isl_pointers__.h != NULL; ++ h = dlopen ("libisl.so.15", RTLD_LAZY); ++ isl_pointers__.h = h; ++ if (h == NULL) ++ return false; ++#define DYNSYM(x) \ ++ do \ ++ { \ ++ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \ ++ u.q = dlsym (h, #x); \ ++ if (u.q == NULL) \ ++ return false; \ ++ isl_pointers__.p_##x = u.p; \ ++ } \ ++ while (0) ++ DYNSYMS ++#undef DYNSYM ++ isl_pointers__.inited = true; ++ return true; ++} ++ + /* Print global statistics to FILE. */ + + static void +@@ -365,6 +394,15 @@ graphite_transform_loops (void) + if (parallelized_function_p (cfun->decl)) + return; + ++ if (number_of_loops (cfun) <= 1) ++ return; ++ ++ if (!init_isl_pointers ()) ++ { ++ sorry ("Graphite loop optimizations cannot be used"); ++ return; ++ } ++ + calculate_dominance_info (CDI_DOMINATORS); + + /* We rely on post-dominators during merging of SESE regions so those +@@ -455,6 +493,14 @@ graphite_transform_loops (void) + } + } + ++const char * ++get_isl_version (bool force) ++{ ++ if (force) ++ init_isl_pointers (); ++ return (isl_pointers__.inited && isl_version) ? isl_version () : "none"; ++} ++ + #else /* If isl is not available: #ifndef HAVE_isl. */ + + static void +--- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100 ++++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100 +@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3. + + #ifdef HAVE_isl + #include ++extern const char *get_isl_version (bool); + #endif + + static void general_init (const char *, bool); +@@ -683,7 +684,7 @@ print_version (FILE *file, const char *i + #ifndef HAVE_isl + "none" + #else +- isl_version () ++ get_isl_version (*indent == 0) + #endif + ); + if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version)) diff --git a/gcc11-libgomp-omp_h-multilib.patch b/gcc11-libgomp-omp_h-multilib.patch new file mode 100644 index 0000000..d0e98d1 --- /dev/null +++ b/gcc11-libgomp-omp_h-multilib.patch @@ -0,0 +1,17 @@ +2008-06-09 Jakub Jelinek + + * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs. + +--- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200 ++++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200 +@@ -42,8 +42,8 @@ typedef struct + + typedef struct + { +- unsigned char _x[@OMP_NEST_LOCK_SIZE@] +- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@))); ++ unsigned char _x[8 + sizeof (void *)] ++ __attribute__((__aligned__(sizeof (void *)))); + } omp_nest_lock_t; + #endif + diff --git a/gcc11-libstdc++-docs.patch b/gcc11-libstdc++-docs.patch new file mode 100644 index 0000000..9ea9f88 --- /dev/null +++ b/gcc11-libstdc++-docs.patch @@ -0,0 +1,24 @@ +--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100 ++++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100 +@@ -5,6 +5,8 @@ + FSF + +

++ Release 11.0.0 ++

+ Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation + License, Version 1.2 or any later version published by the +--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100 ++++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100 +@@ -20,7 +20,9 @@ + member functions for the library classes, finding out what is in a + particular include file, looking at inheritance diagrams, etc. +

+- The API documentation, rendered into HTML, can be viewed online ++ The API documentation, rendered into HTML, can be viewed locally ++ for the 11.0.0 release, ++ online + for each GCC release + and + diff --git a/gcc11-libtool-no-rpath.patch b/gcc11-libtool-no-rpath.patch new file mode 100644 index 0000000..466c661 --- /dev/null +++ b/gcc11-libtool-no-rpath.patch @@ -0,0 +1,27 @@ +libtool sucks. +--- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100 ++++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200 +@@ -5394,6 +5394,7 @@ EOF + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -6071,6 +6072,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -6120,6 +6122,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then diff --git a/gcc11-no-add-needed.patch b/gcc11-no-add-needed.patch new file mode 100644 index 0000000..5817299 --- /dev/null +++ b/gcc11-no-add-needed.patch @@ -0,0 +1,37 @@ +2010-02-08 Roland McGrath + + * config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker. + * config/alpha/elf.h (LINK_EH_SPEC): Likewise. + * config/ia64/linux.h (LINK_EH_SPEC): Likewise. + +--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100 ++++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100 +@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " + #endif +--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100 ++++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100 +@@ -76,7 +76,7 @@ do { \ + Signalize that because we have fde-glibc, we don't need all C shared libs + linked against -lgcc_s. */ + #undef LINK_EH_SPEC +-#define LINK_EH_SPEC "" ++#define LINK_EH_SPEC "--no-add-needed " + + #undef TARGET_INIT_LIBFUNCS + #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs +--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100 ++++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100 +@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI + #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " + #endif + + #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \ diff --git a/gcc11-plugins.patch b/gcc11-plugins.patch new file mode 100644 index 0000000..e756438 --- /dev/null +++ b/gcc11-plugins.patch @@ -0,0 +1,55 @@ +2020-10-14 Jakub Jelinek + + * Makefile.in (PLUGIN_HEADERS): Add gomp-constants.h and $(EXPR_H). + (s-header-vars): Accept not just spaces but also tabs between *_H name + and =. Handle common/config/ headers similarly to config. Don't + throw away everything from first ... to last / on the remaining + string, instead skip just ... to corresponding last / without + intervening spaces and tabs. + (install-plugin): Treat common/config headers like config headers. + * config/i386/t-i386 (TM_H): Add + $(srcdir)/common/config/i386/i386-cpuinfo.h. + +--- gcc/Makefile.in.jj 2020-10-06 23:35:52.616444535 +0200 ++++ gcc/Makefile.in 2020-10-14 14:15:43.179074337 +0200 +@@ -3594,7 +3594,8 @@ PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $ + tree-ssa-threadupdate.h inchash.h wide-int.h signop.h hash-map.h \ + hash-set.h dominance.h cfg.h cfgrtl.h cfganal.h cfgbuild.h cfgcleanup.h \ + lcm.h cfgloopmanip.h file-prefix-map.h builtins.def $(INSN_ATTR_H) \ +- pass-instances.def params.list ++ pass-instances.def params.list $(srcdir)/../include/gomp-constants.h \ ++ $(EXPR_H) + + # generate the 'build fragment' b-header-vars + s-header-vars: Makefile +@@ -3604,7 +3605,7 @@ s-header-vars: Makefile + # more portable than a trailing "-e d" to filter out the uninteresting lines, + # in particular on ia64-hpux where "s/.../p" only prints if -n was requested + # as well. +- $(foreach header_var,$(shell sed < Makefile -n -e 's/^\([A-Z0-9_]*_H\)[ ]*=.*/\1/p'),echo $(header_var)=$(shell echo $($(header_var):$(srcdir)/%=.../%) | sed -e 's~\.\.\./config/~config/~' -e 's~\.\.\..*/~~') >> tmp-header-vars;) \ ++ $(foreach header_var,$(shell sed < Makefile -n -e 's/^\([A-Z0-9_]*_H\)[ ]*=.*/\1/p'),echo $(header_var)=$(shell echo $($(header_var):$(srcdir)/%=.../%) | sed -e 's~\.\.\./config/~config/~' -e 's~\.\.\./common/config/~common/config/~' -e 's~\.\.\.[^ ]*/~~g') >> tmp-header-vars;) + $(SHELL) $(srcdir)/../move-if-change tmp-header-vars b-header-vars + $(STAMP) s-header-vars + +@@ -3630,7 +3631,8 @@ install-plugin: installdirs lang.install + else continue; \ + fi; \ + case $$path in \ +- "$(srcdir)"/config/* | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ ++ "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ ++ | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ + base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ + *) base=`basename $$path` ;; \ + esac; \ +--- gcc/config/i386/t-i386.jj 2020-01-14 20:02:45.861623645 +0100 ++++ gcc/config/i386/t-i386 2020-10-14 13:41:38.503905771 +0200 +@@ -17,7 +17,8 @@ + # . + + OPTIONS_H_EXTRA += $(srcdir)/config/i386/stringop.def +-TM_H += $(srcdir)/config/i386/x86-tune.def ++TM_H += $(srcdir)/config/i386/x86-tune.def \ ++ $(srcdir)/common/config/i386/i386-cpuinfo.h + PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def + + i386-c.o: $(srcdir)/config/i386/i386-c.c diff --git a/gcc11-rh1574936.patch b/gcc11-rh1574936.patch new file mode 100644 index 0000000..6b4be0c --- /dev/null +++ b/gcc11-rh1574936.patch @@ -0,0 +1,30 @@ +crt files and statically linked libgcc objects cause false positives +in annobin coverage, so we add the assembler flag to generate notes +for them. + +The patch also adds notes to libgcc_s.so, but this is harmless because +these notes only confer that there is no other annobin markup. + +2018-07-25 Florian Weimer + + * Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add + -Wa,--generate-missing-build-notes=yes. + +--- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100 ++++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200 +@@ -246,6 +246,7 @@ LIBGCC2_DEBUG_CFLAGS = -g + LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ + $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \ + -fbuilding-libgcc -fno-stack-protector \ ++ -Wa,--generate-missing-build-notes=yes \ + $(INHIBIT_LIBC_CFLAGS) + + # Additional options to use when compiling libgcc2.a. +@@ -301,6 +302,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN + $(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \ + -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ + -fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \ ++ -Wa,--generate-missing-build-notes=yes \ + $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY) + + # Extra flags to use when compiling crt{begin,end}.o. diff --git a/gcc11-sparc-config-detection.patch b/gcc11-sparc-config-detection.patch new file mode 100644 index 0000000..bb06b35 --- /dev/null +++ b/gcc11-sparc-config-detection.patch @@ -0,0 +1,40 @@ +--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500 ++++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500 +@@ -2790,7 +2790,7 @@ sparc-*-rtems*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems" + ;; +-sparc-*-linux*) ++sparc-*-linux* | sparcv9-*-linux*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + case ${target} in +@@ -2844,7 +2844,7 @@ sparc64-*-rtems*) + extra_options="${extra_options}" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64" + ;; +-sparc64-*-linux*) ++sparc64*-*-linux*) + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" +--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500 ++++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500 +@@ -1002,7 +1002,7 @@ sparc-*-elf*) + tmake_file="${tmake_file} t-fdpbit t-crtfm" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +-sparc-*-linux*) # SPARC's running GNU/Linux, libc6 ++sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6 + tmake_file="${tmake_file} t-crtfm" + if test "${host_address}" = 64; then + tmake_file="$tmake_file sparc/t-linux64" +@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd* + tmake_file="$tmake_file t-crtfm" + extra_parts="$extra_parts crtfastmath.o" + ;; +-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux ++sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} t-crtfm sparc/t-linux" + if test "${host_address}" = 64; then diff --git a/update-gcc.sh b/update-gcc.sh index c04b746..dc695f2 100755 --- a/update-gcc.sh +++ b/update-gcc.sh @@ -3,5 +3,5 @@ git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1 d=`date --iso | sed 's/-//g'` -git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-10.2.1-$d/ $1 | xz -9e > gcc-10.2.1-$d.tar.xz +git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.0.0-$d/ $1 | xz -9e > gcc-11.0.0-$d.tar.xz rm -rf gcc-dir.tmp