import CS gcc-toolset-13-gcc-13.1.1-4.2.el9
This commit is contained in:
		
						commit
						61551c04e6
					
				
							
								
								
									
										4
									
								
								.gcc-toolset-13-gcc.metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gcc-toolset-13-gcc.metadata
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| c6598a786781f7b8a3131f96995641f45e7b96a5 SOURCES/gcc-13.1.1-20230614.tar.xz | ||||
| ae5fbb33bcb442121fbbf482a93f6b3c84d489ee SOURCES/isl-0.24.tar.bz2 | ||||
| 003af8bc05476507f4dd02340b727b72b404e275 SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz | ||||
| efdf76a82380d621f0318f3ddf582e033ffd0f75 SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz | ||||
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| SOURCES/gcc-13.1.1-20230614.tar.xz | ||||
| SOURCES/isl-0.24.tar.bz2 | ||||
| SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz | ||||
| SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz | ||||
| @ -0,0 +1,85 @@ | ||||
| From 8a7f364afd86a4c4c2c747ae9cb4216fe992acc8 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Wed, 25 Aug 2021 12:36:42 -0400 | ||||
| Subject: [PATCH 01/17] basic_string::reserve(n) semantics are not available in | ||||
|  DTS | ||||
| 
 | ||||
| Various tests were added upstream 2020-08-06 as part of: | ||||
|   "libstdc++: Implement P0966 std::string::reserve should not shrink" | ||||
|   https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=140cf935cd118f7208b7c3826a8b9d50936242f0 | ||||
| 
 | ||||
| std::string and std::wstring are instantiated in the system libstdc++.so | ||||
| via explicit instantiation definitions, so the new basic_string::reserve(n) | ||||
| semantics are not available in DTS. | ||||
| 
 | ||||
| Update/disable the pertinent parts of the tests to reflect the behavior | ||||
| when run against the system libstdc++.so. | ||||
| ---
 | ||||
|  .../testsuite/21_strings/basic_string/capacity/char/1.cc    | 6 ------ | ||||
|  .../21_strings/basic_string/capacity/char/18654.cc          | 2 +- | ||||
|  .../testsuite/21_strings/basic_string/capacity/wchar_t/1.cc | 6 ------ | ||||
|  .../21_strings/basic_string/capacity/wchar_t/18654.cc       | 2 +- | ||||
|  4 files changed, 2 insertions(+), 14 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
 | ||||
| index eea69771f..64187718d 100644
 | ||||
| --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
 | ||||
| @@ -41,12 +41,6 @@ void test01()
 | ||||
|    sz01 = str01.capacity(); | ||||
|    VERIFY( sz01 < sz02 ); | ||||
|   | ||||
| -  // P0966: reserve should not shrink
 | ||||
| -  str01.reserve(100);
 | ||||
| -  sz01 = str01.capacity();
 | ||||
| -  str01.reserve(sz01 - 1);
 | ||||
| -  VERIFY( str01.capacity() == sz01 );
 | ||||
| -
 | ||||
|    sz01 = str01.size() + 5; | ||||
|    str01.resize(sz01); | ||||
|    sz02 = str01.size(); | ||||
| diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
 | ||||
| index 02ce78ea6..3a7352123 100644
 | ||||
| --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
 | ||||
| @@ -51,7 +51,7 @@ void test01()
 | ||||
|        VERIFY( cap >= 3 * i ); | ||||
|   | ||||
|        str.reserve(2 * i); | ||||
| -      VERIFY( str.capacity() == cap );
 | ||||
| +      VERIFY( str.capacity() == 2 * i );
 | ||||
|   | ||||
|  #if __cplusplus <= 201703L | ||||
|        str.reserve(); | ||||
| diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
 | ||||
| index f01a27e8c..70915a94d 100644
 | ||||
| --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
 | ||||
| @@ -41,12 +41,6 @@ void test01()
 | ||||
|    sz01 = str01.capacity(); | ||||
|    VERIFY( sz01 < sz02 ); | ||||
|   | ||||
| -  // P0966: reserve should not shrink
 | ||||
| -  str01.reserve(100);
 | ||||
| -  sz01 = str01.capacity();
 | ||||
| -  str01.reserve(sz01 - 1);
 | ||||
| -  VERIFY( str01.capacity() == sz01 );
 | ||||
| -
 | ||||
|    sz01 = str01.size() + 5; | ||||
|    str01.resize(sz01); | ||||
|    sz02 = str01.size(); | ||||
| diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
 | ||||
| index 267fd198b..c9711a294 100644
 | ||||
| --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
 | ||||
| @@ -51,7 +51,7 @@ void test01()
 | ||||
|        VERIFY( cap >= 3 * i ); | ||||
|   | ||||
|        str.reserve(2 * i); | ||||
| -      VERIFY( str.capacity() == cap );
 | ||||
| +      VERIFY( str.capacity() == 2 * i );
 | ||||
|   | ||||
|  #if __cplusplus <= 201703L | ||||
|        str.reserve(); | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| @ -0,0 +1,46 @@ | ||||
| From d7fae9f17479c44dae68483d457fc3fbb58c4b83 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Wed, 25 Aug 2021 15:57:36 -0400 | ||||
| Subject: [PATCH 04/17] operator>>(istream&, char(&)[N]) eofbit fixes are not | ||||
|  available in DTS | ||||
| 
 | ||||
| The upstream commit on 2020-08--6: | ||||
|   Do not set eofbit eagerly in operator>>(istream&, char(&)[N]) | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=4e39f563c0cd25401f689c2093cb8c13692156ef | ||||
| altered the behaviour of std::istream symbols defined in libstdc++.so, | ||||
| but with DTS you get the old definitions from the system libstdc++.so | ||||
| 
 | ||||
| Hence this patch tweaks the new tests to avoid failing when run against | ||||
| the system libstdc++.so | ||||
| ---
 | ||||
|  .../21_strings/basic_string/inserters_extractors/char/13.cc      | 1 - | ||||
|  .../21_strings/basic_string/inserters_extractors/wchar_t/13.cc   | 1 - | ||||
|  2 files changed, 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc
 | ||||
| index a25d8a93d..7d85e6ead 100644
 | ||||
| --- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc
 | ||||
| @@ -29,7 +29,6 @@ test01()
 | ||||
|    std::string buf; | ||||
|    in.width(4); | ||||
|    in >> buf; | ||||
| -  VERIFY( !in.eof() ); // should stop after reading 4 chars
 | ||||
|    VERIFY( buf == str ); | ||||
|  } | ||||
|   | ||||
| diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc
 | ||||
| index f15294a44..fa5fe3d4a 100644
 | ||||
| --- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc
 | ||||
| @@ -29,7 +29,6 @@ test01()
 | ||||
|    std::wstring buf; | ||||
|    in.width(4); | ||||
|    in >> buf; | ||||
| -  VERIFY( !in.eof() ); // should stop after reading 4 chars
 | ||||
|    VERIFY( buf == str ); | ||||
|  } | ||||
|   | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,53 @@ | ||||
| From 3ede89bd19328c26bcd881b873cf4a766ae0da3a Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Wed, 25 Aug 2021 17:04:02 -0400 | ||||
| Subject: [PATCH 05/17] Disable tests for PR libstdc++/79820 and PR | ||||
|  libstdc++/81751 under DTS | ||||
| 
 | ||||
| Upstream commit 2017-08-09 | ||||
|   PR libstdc++/81751 don't call fflush(NULL) | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=04d07b61cb80fd97e98eb39451ff6a8675a63d90 | ||||
| added these test cases as part of verifying the behavior of sys_open (that | ||||
| it resets errno and doesn't call fflush on NULL). | ||||
| 
 | ||||
| These symbols are in the system stdlib when run from DTS and thus aren't | ||||
| fixed by the above change: | ||||
| 
 | ||||
|  1521: 000000000007c430    104 FUNC    GLOBAL DEFAULT       12 std::__basic_file<char>::sys_open(int, std::_Ios_Openmode)@@GLIBCXX_3.4 | ||||
|  2895: 000000000007c730     95 FUNC    GLOBAL DEFAULT       12 std::__basic_file<char>::sys_open(_IO_FILE*, std::_Ios_Openmode)@@GLIBCXX_3.4 | ||||
| 
 | ||||
| This patch disables the non-fixed assertions. | ||||
| ---
 | ||||
|  libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc | 2 -- | ||||
|  libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc | 1 - | ||||
|  2 files changed, 3 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
 | ||||
| index 278b99169..e2a8e3b3d 100644
 | ||||
| --- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
 | ||||
| @@ -26,9 +26,7 @@ void
 | ||||
|  test01() | ||||
|  { | ||||
|    FILE* f = std::fopen("79820.txt", "w"); | ||||
| -  errno = 127;
 | ||||
|    __gnu_cxx::stdio_filebuf<char> b(f, std::ios::out, BUFSIZ); | ||||
| -  VERIFY(errno == 127); // PR libstdc++/79820
 | ||||
|    b.close(); | ||||
|    std::fclose(f); | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
 | ||||
| index 21aa06f78..6a231d7cf 100644
 | ||||
| --- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
 | ||||
| @@ -31,7 +31,6 @@ test01()
 | ||||
|    FILE* in1 = std::fopen("81751.txt", "r"); | ||||
|    __gnu_cxx::stdio_filebuf<char> buf1(in1, std::ios::in, BUFSIZ); | ||||
|    int c = buf1.sgetc(); | ||||
| -  VERIFY( c == std::char_traits<char>::eof() ); // PR libstdc++/81751
 | ||||
|   | ||||
|    std::fflush(out); | ||||
|    FILE* in2 = std::fopen("81751.txt", "r"); | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,118 @@ | ||||
| From 59388ee3dac5c737086ed1f83f552a44481a2213 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Tue, 31 Aug 2021 16:08:57 -0400 | ||||
| Subject: [PATCH 06/17] Don't assume has_facet<codecvt_c16> when run against | ||||
|  system libstdc++ | ||||
| 
 | ||||
| Upstream commit 2019-02-19: | ||||
|   P0482R5 char8_t: Standard library support | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=c124af936b6b225eb548ccdd7f01400511d784dc | ||||
| added new locale facets for char8_t. | ||||
| 
 | ||||
| has_facet<codecvt_c16> returns false, as it is using the std::locale the system libstdc++: | ||||
| 
 | ||||
| $ eu-readelf -s char16_t-char8_t.exe |c++filt |grep UNDEF|grep locale | ||||
|     3: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::classic()@GLIBCXX_3.4 (2) | ||||
|     8: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::locale(std::locale const&)@GLIBCXX_3.4 (2) | ||||
|    13: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::id::_M_id() const@GLIBCXX_3.4 (2) | ||||
|    22: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::~locale()@GLIBCXX_3.4 (2) | ||||
|    64: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::classic()@@GLIBCXX_3.4 | ||||
|    76: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::locale(std::locale const&)@@GLIBCXX_3.4 | ||||
|    89: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::id::_M_id() const@@GLIBCXX_3.4 | ||||
|   108: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::locale::~locale()@@GLIBCXX_3.4 | ||||
| 
 | ||||
| Hence this patch tweaks tests so that they bail out if run against an older std::locale. | ||||
| ---
 | ||||
|  libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc | 3 ++- | ||||
|  libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc         | 3 ++- | ||||
|  libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc | 3 ++- | ||||
|  libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc         | 3 ++- | ||||
|  libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc     | 2 ++ | ||||
|  libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc             | 2 ++ | ||||
|  6 files changed, 12 insertions(+), 4 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc
 | ||||
| index 71a23bef4..d4aa519a2 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc
 | ||||
| @@ -31,7 +31,8 @@ test01()
 | ||||
|    using namespace std; | ||||
|    typedef codecvt<char16_t, char8_t, mbstate_t> codecvt_c16; | ||||
|    locale loc_c = locale::classic(); | ||||
| -  VERIFY(has_facet<codecvt_c16>(loc_c));
 | ||||
| +  if (!has_facet<codecvt_c16>(loc_c))
 | ||||
| +    return;
 | ||||
|    const codecvt_c16* const cvt = &use_facet<codecvt_c16>(loc_c); | ||||
|   | ||||
|    VERIFY(!cvt->always_noconv()); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
 | ||||
| index 7b5ce126d..05c77b2b1 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
 | ||||
| @@ -29,7 +29,8 @@ test01()
 | ||||
|    using namespace std; | ||||
|    typedef codecvt<char16_t, char, mbstate_t> codecvt_c16; | ||||
|    locale loc_c = locale::classic(); | ||||
| -  VERIFY(has_facet<codecvt_c16>(loc_c));
 | ||||
| +  if (!has_facet<codecvt_c16>(loc_c))
 | ||||
| +    return;
 | ||||
|    const codecvt_c16* const cvt = &use_facet<codecvt_c16>(loc_c); | ||||
|   | ||||
|    VERIFY(!cvt->always_noconv()); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc
 | ||||
| index f30ae22e9..281969e9b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc
 | ||||
| @@ -33,7 +33,8 @@ test01()
 | ||||
|    using namespace std; | ||||
|    typedef codecvt<char32_t, char8_t, mbstate_t> codecvt_c32; | ||||
|    locale loc_c = locale::classic(); | ||||
| -  VERIFY(has_facet<codecvt_c32>(loc_c));
 | ||||
| +  if (!has_facet<codecvt_c32>(loc_c))
 | ||||
| +    return;
 | ||||
|    const codecvt_c32* const cvt = &use_facet<codecvt_c32>(loc_c); | ||||
|   | ||||
|    VERIFY(!cvt->always_noconv()); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
 | ||||
| index 558ba9145..82980b702 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
 | ||||
| @@ -31,7 +31,8 @@ test01()
 | ||||
|    using namespace std; | ||||
|    typedef codecvt<char32_t, char, mbstate_t> codecvt_c32; | ||||
|    locale loc_c = locale::classic(); | ||||
| -  VERIFY(has_facet<codecvt_c32>(loc_c));
 | ||||
| +  if (!has_facet<codecvt_c32>(loc_c))
 | ||||
| +    return;
 | ||||
|    const codecvt_c32* const cvt = &use_facet<codecvt_c32>(loc_c); | ||||
|   | ||||
|    VERIFY(!cvt->always_noconv()); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc
 | ||||
| index 5eab05ba2..d6f663ce6 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc
 | ||||
| @@ -34,6 +34,8 @@ void test(const C* from)
 | ||||
|    std::mbstate_t state{}; | ||||
|    char8_t buf[16] = { }; | ||||
|    using test_type = std::codecvt<C, char8_t, std::mbstate_t>; | ||||
| +  if (!std::has_facet<test_type>(std::locale::classic()))
 | ||||
| +    return;
 | ||||
|    const test_type& cvt = std::use_facet<test_type>(std::locale::classic()); | ||||
|    auto from_end = from + len; | ||||
|    auto from_next = from; | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
 | ||||
| index b1b3cff31..167bc0ca3 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
 | ||||
| @@ -32,6 +32,8 @@ void test(const C* from)
 | ||||
|    std::mbstate_t state{}; | ||||
|    char buf[16] = { }; | ||||
|    using test_type = std::codecvt<C, char, std::mbstate_t>; | ||||
| +  if (!std::has_facet<test_type>(std::locale::classic()))
 | ||||
| +    return;
 | ||||
|    const test_type& cvt = std::use_facet<test_type>(std::locale::classic()); | ||||
|    auto from_end = from + len; | ||||
|    auto from_next = from; | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
							
								
								
									
										42
									
								
								SOURCES/0008-testsuite-build-plugins-with-std-c-11.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								SOURCES/0008-testsuite-build-plugins-with-std-c-11.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| From 16694079a3f415f5e5683b0afe6978810ac259b1 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Tue, 31 Aug 2021 17:01:05 -0400 | ||||
| Subject: [PATCH 08/17] testsuite: build plugins with -std=c++11 | ||||
| 
 | ||||
| Various testsuite plugins fail when built within DTS with e.g.: | ||||
|   cc1: error: cannot load plugin ./diagnostic_plugin_test_paths.so: /builddir/build/BUILD/gcc-11.1.1-20210623/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/src/.libs/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./diagnostic_plugin_test_paths.so) | ||||
| 
 | ||||
| These turn out to C++14's sized deletion | ||||
| (see https://en.cppreference.com/w/cpp/memory/new/operator_delete): | ||||
| 
 | ||||
|    14: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF _ZdlPvm@CXXABI_1.3.9 (4) | ||||
|    48: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF _ZdlPvm@CXXABI_1.3.9 | ||||
|    14: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF operator delete(void*, unsigned long)@CXXABI_1.3.9 (4) | ||||
|    48: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF operator delete(void*, unsigned long)@CXXABI_1.3.9 | ||||
| 
 | ||||
| Looks like plugin.exp is building the test plugins against the | ||||
| freshly-built libstdc++, and then trying to dynamically load them | ||||
| against the system libstdc++. | ||||
| 
 | ||||
| This patch forces the use of -std=c++11 when building these test plugins, | ||||
| to sidestep the problem. | ||||
| ---
 | ||||
|  gcc/testsuite/lib/plugin-support.exp | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/gcc/testsuite/lib/plugin-support.exp b/gcc/testsuite/lib/plugin-support.exp
 | ||||
| index 6d651901e..9943dbb37 100644
 | ||||
| --- a/gcc/testsuite/lib/plugin-support.exp
 | ||||
| +++ b/gcc/testsuite/lib/plugin-support.exp
 | ||||
| @@ -103,7 +103,7 @@ proc plugin-test-execute { plugin_src plugin_tests } {
 | ||||
|  	} | ||||
|  	set optstr [concat $optstr "-DIN_GCC -fPIC -shared -fno-rtti -undefined dynamic_lookup"] | ||||
|      } else { | ||||
| -	set plug_cflags $PLUGINCFLAGS 
 | ||||
| +	set plug_cflags "$PLUGINCFLAGS -std=c++11"
 | ||||
|  	set optstr "$includes $extra_flags -DIN_GCC -fPIC -shared -fno-rtti" | ||||
|      } | ||||
|   | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,36 @@ | ||||
| From 87e2a4f28b444f376ebe15f38e2743eb952ff355 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Wed, 1 Sep 2021 11:02:53 -0400 | ||||
| Subject: [PATCH 09/17] Fix 22_locale/locale/cons/unicode.cc when run under DTS | ||||
| 
 | ||||
| Various has_facet calls return false in DTS, as DTS is using the | ||||
| std::locale from the system libstdc++. | ||||
| 
 | ||||
| Hence this patch tweaks tests to remove the VERIFY from the result of | ||||
| the call, so that they do not fail if run against an older | ||||
| std::locale. | ||||
| 
 | ||||
| These VERIFY tests were added upstream 2015-01-16 in | ||||
|   https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=bb93f35da1612940266f5d159b6cc5a3e54fca14 | ||||
| ---
 | ||||
|  libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
 | ||||
| index 15c621099..328145094 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
 | ||||
| @@ -70,8 +70,8 @@ void test01()
 | ||||
|        VERIFY( has_facet<w_codecvt>(loc13) ); | ||||
|  #endif | ||||
|  #ifdef _GLIBCXX_USE_C99_STDINT_TR1 | ||||
| -      VERIFY( has_facet<u16_codecvt>(loc13) );
 | ||||
| -      VERIFY( has_facet<u32_codecvt>(loc13) );
 | ||||
| +      (void)( has_facet<u16_codecvt>(loc13) );
 | ||||
| +      (void)( has_facet<u32_codecvt>(loc13) );
 | ||||
|  #ifdef _GLIBCXX_USE_CHAR8_T | ||||
|        VERIFY( has_facet<u16u8_codecvt>(loc13) ); | ||||
|        VERIFY( has_facet<u32u8_codecvt>(loc13) ); | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,30 @@ | ||||
| From d1555ffdd9b4fa6f3ceaa166bbfee0b3b9973ecf Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Wed, 1 Sep 2021 11:24:34 -0400 | ||||
| Subject: [PATCH 10/17] Don't verify exception handling in basic_filebuf::close | ||||
|  in DTS [PR81256] | ||||
| 
 | ||||
| 27_io/basic_filebuf/close/81256.cc was added upstream 2018-05-14 in | ||||
|   PR libstdc++/81256 fix exception handling in basic_filebuf::close | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e77497ab777d3dfa19224648d658220807ab7419 | ||||
| 
 | ||||
| When run under DTS, | ||||
|   std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::close | ||||
| comes from the system libstdc++, and hence the test fails. | ||||
| ---
 | ||||
|  libstdc++-v3/testsuite/27_io/basic_filebuf/close/81256.cc | 1 - | ||||
|  1 file changed, 1 deletion(-) | ||||
| 
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc
 | ||||
| @@ -80,7 +80,6 @@ test01()
 | ||||
|        caught = true; | ||||
|      } | ||||
|      VERIFY( conv.exceptions_thrown == 1 ); | ||||
| -    VERIFY( caught );
 | ||||
|    } | ||||
|    VERIFY( conv.exceptions_thrown == 1 ); | ||||
|  } | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,117 @@ | ||||
| From b6989e3a4acda2d75612f3f3847dbea4245ff536 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Wed, 1 Sep 2021 15:39:45 -0400 | ||||
| Subject: [PATCH 11/17] Add dts.exp and use it to fix | ||||
|  22_locale/messages/13631.cc | ||||
| 
 | ||||
| This test was added upstream 2014-12-03: | ||||
|   "re PR libstdc++/13631 (Problems in messages)" | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d31008d7a0d53b431f176aad8dda5498de823122 | ||||
| 
 | ||||
| as part of a fix that is present in the system libstdc++.so in | ||||
| GCC 5 onwards. | ||||
| 
 | ||||
| When run in DTS against such a system library, this test will fail. | ||||
| This patch introduces a dts.exp which detects the version of the | ||||
| underlying system libstdc++.so and exposes it to tests via | ||||
| -D__CXXSTDLIB_SO_VERSION__=, so that we can ifdef specific tests
 | ||||
| away, conditionally on the base GCC. | ||||
| ---
 | ||||
|  .../testsuite/22_locale/messages/13631.cc     |  7 +++++ | ||||
|  libstdc++-v3/testsuite/lib/dts.exp            | 31 +++++++++++++++++++ | ||||
|  libstdc++-v3/testsuite/lib/libstdc++.exp      |  6 ++++ | ||||
|  3 files changed, 44 insertions(+) | ||||
|  create mode 100644 libstdc++-v3/testsuite/lib/dts.exp | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/messages/13631.cc b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
 | ||||
| index b8ae3d4f1..5b20df382 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/messages/13631.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
 | ||||
| @@ -50,7 +50,10 @@ void test01()
 | ||||
|    msgs_facet.close(fake_msgs); | ||||
|    msgs_facet.close(msgs); | ||||
|   | ||||
| +  // Fixed upstream in GCC 5
 | ||||
| +#if __CXXSTDLIB_SO_VERSION__ >= 501000
 | ||||
|    VERIFY( translation1 == translation2 ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void test02() | ||||
| @@ -72,8 +75,12 @@ void test02()
 | ||||
|    std::wstring translation1 = msgs_facet.get(msgs, 0, 0, msgid); | ||||
|   | ||||
|    // Without a real translation this test doesn't mean anything: | ||||
| +
 | ||||
| +  // Fixed upstream in GCC 5
 | ||||
| +#if __CXXSTDLIB_SO_VERSION__ >= 501000
 | ||||
|    VERIFY( !translation1.empty() ); | ||||
|    VERIFY( translation1 != msgid ); | ||||
| +#endif
 | ||||
|   | ||||
|    // Opening another catalog was enough to show the problem, even a fake | ||||
|    // catalog. | ||||
| diff --git a/libstdc++-v3/testsuite/lib/dts.exp b/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| new file mode 100644 | ||||
| index 000000000..76ece66d3
 | ||||
| --- /dev/null
 | ||||
| +++ b/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| @@ -0,0 +1,31 @@
 | ||||
| +# For DTS testing, generate a number expressing the
 | ||||
| +# system version of libstdc++.so
 | ||||
| +#
 | ||||
| +# Generate a version number equivalent to
 | ||||
| +#  #define GCC_VERSION (__GNUC__ * 10000 \
 | ||||
| +#                       + __GNUC_MINOR__ * 100 \
 | ||||
| +#                       + __GNUC_PATCHLEVEL__)
 | ||||
| +#
 | ||||
| +# For example, given an underlying version of gcc 4.8.5
 | ||||
| +# this function will return 408050.
 | ||||
| +
 | ||||
| +proc get_dts_base_version { } {
 | ||||
| +
 | ||||
| +    # Invoke gcc in the PATH to get at the underlying GCC version
 | ||||
| +    # in dotted form (e.g. "4.8.5").
 | ||||
| +    set dotted_version [exec gcc -dumpversion]
 | ||||
| +    verbose "dotted_version: '$dotted_version'" 2
 | ||||
| +
 | ||||
| +    # Extract major, minor, patchlevel
 | ||||
| +    regexp {([0-9]+)\.([0-9]+)\.([0-9]+)} \
 | ||||
| +	$dotted_version \
 | ||||
| +	_ major minor patchlevel
 | ||||
| +    verbose "major: '$major'" 2
 | ||||
| +    verbose "minor: '$minor'" 2
 | ||||
| +    verbose "patchlevel: '$patchlevel'" 2
 | ||||
| +
 | ||||
| +    set base_gcc_version [expr (($major * 10000) + ($minor * 100)  + $patchlevel)]
 | ||||
| +    verbose "base_gcc_version: '$base_gcc_version'" 2
 | ||||
| +
 | ||||
| +    return $base_gcc_version
 | ||||
| +}
 | ||||
| diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
 | ||||
| index 7f9580db8..5e4b32f76 100644
 | ||||
| --- a/libstdc++-v3/testsuite/lib/libstdc++.exp
 | ||||
| +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
 | ||||
| @@ -58,6 +58,7 @@ load_gcc_lib timeout.exp
 | ||||
|  load_gcc_lib timeout-dg.exp | ||||
|  load_gcc_lib wrapper.exp | ||||
|  load_gcc_lib target-utils.exp | ||||
| +load_lib dts.exp
 | ||||
|   | ||||
|  # Useful for debugging.  Pass the name of a variable and the verbosity | ||||
|  # threshold (number of -v's on the command line). | ||||
| @@ -323,6 +324,11 @@ proc libstdc++_init { testfile } {
 | ||||
|      set ccflags "$cxxflags -DLOCALEDIR=\".\"" | ||||
|      set cxxflags "$cxxflags -DLOCALEDIR=\".\"" | ||||
|   | ||||
| +    # For DTS testing, expose the system version of libstdc++.so as
 | ||||
| +    # a preprocessor define.
 | ||||
| +    set base_gcc_version [get_dts_base_version]
 | ||||
| +    set cxxflags "$cxxflags -D__CXXSTDLIB_SO_VERSION__=$base_gcc_version"
 | ||||
| +
 | ||||
|      # If a PCH file is available, use it.  We must delay performing | ||||
|      # this check until $cxx and such have been initialized because we | ||||
|      # perform a test compilation.  (Ideally, gcc --print-file-name would | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
							
								
								
									
										28
									
								
								SOURCES/0012-dts.exp-use-usr-bin-gcc.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								SOURCES/0012-dts.exp-use-usr-bin-gcc.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| From c3910bb945aba02e0c06dec041da9f1f148b0df1 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Thu, 2 Sep 2021 11:40:42 -0400 | ||||
| Subject: [PATCH 12/17] dts.exp: use /usr/bin/gcc | ||||
| 
 | ||||
| ---
 | ||||
|  libstdc++-v3/testsuite/lib/dts.exp | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/lib/dts.exp b/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| index 76ece66d3..dc5cf3e95 100644
 | ||||
| --- a/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| +++ b/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| @@ -11,9 +11,9 @@
 | ||||
|   | ||||
|  proc get_dts_base_version { } { | ||||
|   | ||||
| -    # Invoke gcc in the PATH to get at the underlying GCC version
 | ||||
| +    # Invoke /usr/bin/gcc to get at the underlying GCC version
 | ||||
|      # in dotted form (e.g. "4.8.5"). | ||||
| -    set dotted_version [exec gcc -dumpversion]
 | ||||
| +    set dotted_version [exec /usr/bin/gcc -dumpversion]
 | ||||
|      verbose "dotted_version: '$dotted_version'" 2 | ||||
|   | ||||
|      # Extract major, minor, patchlevel | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,86 @@ | ||||
| From c922a56d4461c9e4ca2af07ecccb3626b99a35ae Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Thu, 2 Sep 2021 11:44:37 -0400 | ||||
| Subject: [PATCH 13/17] Rename __CXXSTDLIB_SO_VERSION__ to | ||||
|  __LIBSTDCXX_SO_VERSION and only use major version | ||||
| 
 | ||||
| ---
 | ||||
|  .../testsuite/22_locale/messages/13631.cc      |  4 ++-- | ||||
|  libstdc++-v3/testsuite/lib/dts.exp             | 18 +++++------------- | ||||
|  libstdc++-v3/testsuite/lib/libstdc++.exp       |  4 ++-- | ||||
|  3 files changed, 9 insertions(+), 17 deletions(-) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/messages/13631.cc b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
 | ||||
| index 5b20df382..f4c5eb7a2 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/messages/13631.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
 | ||||
| @@ -51,7 +51,7 @@ void test01()
 | ||||
|    msgs_facet.close(msgs); | ||||
|   | ||||
|    // Fixed upstream in GCC 5 | ||||
| -#if __CXXSTDLIB_SO_VERSION__ >= 501000
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 5
 | ||||
|    VERIFY( translation1 == translation2 ); | ||||
|  #endif | ||||
|  } | ||||
| @@ -77,7 +77,7 @@ void test02()
 | ||||
|    // Without a real translation this test doesn't mean anything: | ||||
|   | ||||
|    // Fixed upstream in GCC 5 | ||||
| -#if __CXXSTDLIB_SO_VERSION__ >= 501000
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 5
 | ||||
|    VERIFY( !translation1.empty() ); | ||||
|    VERIFY( translation1 != msgid ); | ||||
|  #endif | ||||
| diff --git a/libstdc++-v3/testsuite/lib/dts.exp b/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| index dc5cf3e95..60f94bd6d 100644
 | ||||
| --- a/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| +++ b/libstdc++-v3/testsuite/lib/dts.exp
 | ||||
| @@ -1,15 +1,10 @@
 | ||||
| -# For DTS testing, generate a number expressing the
 | ||||
| -# system version of libstdc++.so
 | ||||
| -#
 | ||||
| -# Generate a version number equivalent to
 | ||||
| -#  #define GCC_VERSION (__GNUC__ * 10000 \
 | ||||
| -#                       + __GNUC_MINOR__ * 100 \
 | ||||
| -#                       + __GNUC_PATCHLEVEL__)
 | ||||
| +# For DTS testing, get the major version of the
 | ||||
| +# system libstdc++.so
 | ||||
|  # | ||||
|  # For example, given an underlying version of gcc 4.8.5 | ||||
| -# this function will return 408050.
 | ||||
| +# this function will return 4
 | ||||
|   | ||||
| -proc get_dts_base_version { } {
 | ||||
| +proc get_dts_base_major_version { } {
 | ||||
|   | ||||
|      # Invoke /usr/bin/gcc to get at the underlying GCC version | ||||
|      # in dotted form (e.g. "4.8.5"). | ||||
| @@ -24,8 +19,5 @@ proc get_dts_base_version { } {
 | ||||
|      verbose "minor: '$minor'" 2 | ||||
|      verbose "patchlevel: '$patchlevel'" 2 | ||||
|   | ||||
| -    set base_gcc_version [expr (($major * 10000) + ($minor * 100)  + $patchlevel)]
 | ||||
| -    verbose "base_gcc_version: '$base_gcc_version'" 2
 | ||||
| -
 | ||||
| -    return $base_gcc_version
 | ||||
| +    return $major
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
 | ||||
| index 5e4b32f76..297485b19 100644
 | ||||
| --- a/libstdc++-v3/testsuite/lib/libstdc++.exp
 | ||||
| +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
 | ||||
| @@ -326,8 +326,8 @@ proc libstdc++_init { testfile } {
 | ||||
|   | ||||
|      # For DTS testing, expose the system version of libstdc++.so as | ||||
|      # a preprocessor define. | ||||
| -    set base_gcc_version [get_dts_base_version]
 | ||||
| -    set cxxflags "$cxxflags -D__CXXSTDLIB_SO_VERSION__=$base_gcc_version"
 | ||||
| +    set base_gcc_version [get_dts_base_major_version]
 | ||||
| +    set cxxflags "$cxxflags -D__LIBSTDCXX_SO_VERSION=$base_gcc_version"
 | ||||
|   | ||||
|      # If a PCH file is available, use it.  We must delay performing | ||||
|      # this check until $cxx and such have been initialized because we | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,84 @@ | ||||
| From fa770c25013df537c41d0929c4202b0a774a6a75 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Thu, 2 Sep 2021 15:27:59 -0400 | ||||
| Subject: [PATCH 14/17] Conditionalize tests for PR libstdc++/98466 on | ||||
|  __LIBSTDCXX_SO_VERSION >= 11 | ||||
| 
 | ||||
| The tests: | ||||
|   23_containers/deque/debug/98466.cc | ||||
|   23_containers/unordered_map/debug/98466.cc | ||||
| were added upstream 2021-01-01 as part of: | ||||
|   libstdc++: Implement N3644 for _GLIBCXX_DEBUG iterators | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=05a30af3f237984b4dcf1dbbc17fdac583c46506 | ||||
| but fail when run in DTS against a system libstdc++.so | ||||
| from an older GCC. | ||||
| 
 | ||||
| In particular, they use the older implementation of _M_can_compare from | ||||
| the dynamic library: | ||||
| 
 | ||||
| $ eu-readelf -s 98466.exe | grep can_compare | c++filt | ||||
|    11: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF __gnu_debug::_Safe_iterator_base::_M_can_compare(__gnu_debug::_Safe_iterator_base const&) const@GLIBCXX_3.4 (4) | ||||
|   157: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF __gnu_debug::_Safe_iterator_base::_M_can_compare(__gnu_debug::_Safe_iterator_base const&) const@@GLIBCXX_3.4 | ||||
| ---
 | ||||
|  .../testsuite/23_containers/deque/debug/98466.cc     |  6 ++++++ | ||||
|  .../23_containers/unordered_map/debug/98466.cc       | 12 ++++++++++++ | ||||
|  2 files changed, 18 insertions(+) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
 | ||||
| index c2d793374..e92d719bf 100644
 | ||||
| --- a/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
 | ||||
| @@ -26,11 +26,17 @@ void test01()
 | ||||
|  { | ||||
|    typedef typename __gnu_debug::deque<int>::iterator It; | ||||
|    It it = It(); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( it == it ); | ||||
| +#endif
 | ||||
|   | ||||
|    typedef typename __gnu_debug::deque<int>::const_iterator Cit; | ||||
|    Cit cit = Cit(); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( cit == cit ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  int main() | ||||
| diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc
 | ||||
| index cc22b9ff8..3a1b6cd32 100644
 | ||||
| --- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc
 | ||||
| @@ -25,16 +25,28 @@
 | ||||
|  void test01() | ||||
|  { | ||||
|    __gnu_debug::unordered_map<int, int>::iterator it{}; | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( it == it ); | ||||
| +#endif
 | ||||
|   | ||||
|    __gnu_debug::unordered_map<int, int>::const_iterator cit{}; | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( cit == cit ); | ||||
| +#endif
 | ||||
|   | ||||
|    __gnu_debug::unordered_map<int, int>::local_iterator lit{}; | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( lit == lit ); | ||||
| +#endif
 | ||||
|   | ||||
|    __gnu_debug::unordered_map<int, int>::const_local_iterator clit{}; | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( clit == clit ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  int main() | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,41 @@ | ||||
| From 992665eab6c48d6a4819f42509346d24b277485d Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Thu, 2 Sep 2021 16:17:29 -0400 | ||||
| Subject: [PATCH 15/17] Conditionalize test for PR libstdc++/87135 on | ||||
|  __LIBSTDCXX_SO_VERSION >= 9 | ||||
| 
 | ||||
| This VERIFY was added upstream 2018-09-18 as part of: | ||||
|   re PR libstdc++/87135 ([C++17] unordered containers violate iterator validity requirements) | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=a521e62615e439aea7502a52fd0f8a21eaa6304f | ||||
| 
 | ||||
| but fails when run in DTS against a system libstdc++.so from an older GCC. | ||||
| 
 | ||||
| In particular, rehash from the header is using | ||||
|   std::__detail::_Prime_rehash_policy::_M_next_bkt | ||||
| from the system .so: | ||||
| 
 | ||||
|    12: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::__detail::_Prime_rehash_policy::_M_next_bkt(unsigned long) const@GLIBCXX_3.4.18 (5) | ||||
|   225: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::__detail::_Prime_rehash_policy::_M_next_bkt(unsigned long) const@@GLIBCXX_3.4.18 | ||||
| ---
 | ||||
|  .../23_containers/unordered_map/modifiers/reserve.cc          | 4 ++++ | ||||
|  1 file changed, 4 insertions(+) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
 | ||||
| index 58c8924b9..4c79ec2e6 100644
 | ||||
| --- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
 | ||||
| @@ -46,7 +46,11 @@ void test01()
 | ||||
|   | ||||
|  	  // As long as we insert less than the reserved number of elements we | ||||
|  	  // shouldn't experiment any rehash. | ||||
| +
 | ||||
| +	  // Fixed upstream in GCC 9
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 9
 | ||||
|  	  VERIFY( m.bucket_count() == bkts ); | ||||
| +#endif
 | ||||
|   | ||||
|  	  VERIFY( m.load_factor() <= m.max_load_factor() ); | ||||
|  	} | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,102 @@ | ||||
| From db8f53df0be1daeda3159c1413549ff40696c710 Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Thu, 2 Sep 2021 17:02:33 -0400 | ||||
| Subject: [PATCH 16/17] Conditionalize test for hashtable bucket sizes on | ||||
|  __LIBSTDCXX_SO_VERSION >= 11 | ||||
| 
 | ||||
| These tests were added upstream 2020-01-20 as part of: | ||||
|   libstdc++: Do not over-size hashtable buckets on range insertion | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6dcf042368012e2d7ce1626ee5d378bf3ad0ccfc | ||||
| 
 | ||||
| but fail when run in DTS against a system libstdc++.so from an older GCC. | ||||
| 
 | ||||
| In particular, _M_insert_unique_node from the header is using the older | ||||
| implementation of | ||||
|   std::__detail::_Prime_rehash_policy::_M_need_rehash | ||||
| from the dynamic library. | ||||
| 
 | ||||
|    23: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const@GLIBCXX_3.4.18 (5) | ||||
|   412: 0000000000000000      0 FUNC    GLOBAL DEFAULT    UNDEF std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const@@GLIBCXX_3.4.18 | ||||
| ---
 | ||||
|  .../23_containers/unordered_set/cons/bucket_hint.cc    | 10 ++++++++++ | ||||
|  .../23_containers/unordered_set/modifiers/insert.cc    |  9 +++++++++ | ||||
|  2 files changed, 19 insertions(+) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc
 | ||||
| index a3b014a3a..af231e54e 100644
 | ||||
| --- a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc
 | ||||
| @@ -29,7 +29,11 @@ void test01()
 | ||||
|    a.reserve(2); | ||||
|   | ||||
|    std::unordered_set<int> b({ 0, 1, 0, 1, 0, 1, 0, 1 }, a.bucket_count()); | ||||
| +
 | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( b.bucket_count() == a.bucket_count() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void test02() | ||||
| @@ -40,7 +44,10 @@ void test02()
 | ||||
|    std::vector<int> v { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }; | ||||
|   | ||||
|    std::unordered_set<int> b(v.begin(), v.end(), a.bucket_count()); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( b.bucket_count() == a.bucket_count() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void test03() | ||||
| @@ -51,7 +58,10 @@ void test03()
 | ||||
|    std::forward_list<int> fl { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }; | ||||
|   | ||||
|    std::unordered_set<int> b(fl.begin(), fl.end(), a.bucket_count()); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( b.bucket_count() == a.bucket_count() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  int main() | ||||
| diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc
 | ||||
| index 015c2f872..aae8298ae 100644
 | ||||
| --- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc
 | ||||
| @@ -30,7 +30,10 @@ void test01()
 | ||||
|   | ||||
|    auto bkt_count = a.bucket_count(); | ||||
|    a.insert({ 0, 1, 0, 1, 0, 1, 0, 1 }); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( a.bucket_count() == bkt_count ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void test02() | ||||
| @@ -42,7 +45,10 @@ void test02()
 | ||||
|   | ||||
|    auto bkt_count = a.bucket_count(); | ||||
|    a.insert(v.begin(), v.end()); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( a.bucket_count() == bkt_count ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void test03() | ||||
| @@ -54,7 +60,10 @@ void test03()
 | ||||
|   | ||||
|    auto bkt_count = a.bucket_count(); | ||||
|    a.insert(fl.begin(), fl.end()); | ||||
| +  // Fixed upstream in GCC 11
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 11
 | ||||
|    VERIFY( a.bucket_count() == bkt_count ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  int main() | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -0,0 +1,33 @@ | ||||
| From 102adc148612b50a4e3f12a88871ddc47bfb469e Mon Sep 17 00:00:00 2001 | ||||
| From: David Malcolm <dmalcolm@redhat.com> | ||||
| Date: Thu, 2 Sep 2021 17:17:50 -0400 | ||||
| Subject: [PATCH 17/17] Conditionalize test for PR libstdc++/71181 on | ||||
|  __LIBSTDCXX_SO_VERSION >= 7 | ||||
| 
 | ||||
| This test was added upstream 2016-06-20 as part of: | ||||
|   re PR libstdc++/71181 (Reserving in unordered_map doesn't reserve enough) | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=29dbb034cb3199167a9d0aaed040733c72326eed | ||||
| 
 | ||||
| but fails when run in DTS against a system libstdc++.so from an older GCC. | ||||
| ---
 | ||||
|  .../testsuite/23_containers/unordered_set/hash_policy/71181.cc | 3 +++ | ||||
|  1 file changed, 3 insertions(+) | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc
 | ||||
| index 324d735b8..b2dcd0137 100644
 | ||||
| --- a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc
 | ||||
| @@ -39,7 +39,10 @@ template<typename _USet>
 | ||||
|   | ||||
|  	us.insert(nb_insert); | ||||
|   | ||||
| +	// Fixed upstream in GCC 7
 | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 7
 | ||||
|  	VERIFY( us.bucket_count() == bkts ); | ||||
| +#endif
 | ||||
|        } | ||||
|    } | ||||
|   | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
							
								
								
									
										13
									
								
								SOURCES/0018-Use-CXX11-ABI.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								SOURCES/0018-Use-CXX11-ABI.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| diff --git a/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C b/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
 | ||||
| index 47f97dcb636..66f07aaa749 100644
 | ||||
| --- a/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
 | ||||
| +++ b/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
 | ||||
| @@ -4,6 +4,8 @@
 | ||||
|     { dg-do compile { target c++11 } } | ||||
|     { dg-options "-O2 -Wall" } */ | ||||
|   | ||||
| +#define _GLIBCXX_USE_CXX11_ABI 1
 | ||||
| +
 | ||||
|  #include <memory> | ||||
|  #include <string> | ||||
|   | ||||
							
								
								
									
										16
									
								
								SOURCES/0019-xfails.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								SOURCES/0019-xfails.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| Looks like a known fail: | ||||
| https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101674 | ||||
| 
 | ||||
| diff --git a/gcc/testsuite/gcc.dg/uninit-pred-9_b.c b/gcc/testsuite/gcc.dg/uninit-pred-9_b.c
 | ||||
| index 53c4a5399ea..c2b043f5019 100644
 | ||||
| --- a/gcc/testsuite/gcc.dg/uninit-pred-9_b.c
 | ||||
| +++ b/gcc/testsuite/gcc.dg/uninit-pred-9_b.c
 | ||||
| @@ -17,7 +17,7 @@ int foo (int n, int l, int m, int r)
 | ||||
|   | ||||
|    if (l > 100) | ||||
|      if ( (n <= 9) &&  (m < 100)  && (r < 19) ) | ||||
| -      blah(v); /* { dg-bogus "uninitialized" "bogus warning" { xfail powerpc64*-*-* cris-*-* riscv*-*-* } } */
 | ||||
| +      blah(v); /* { dg-bogus "uninitialized" "bogus warning" { xfail powerpc64*-*-* cris-*-* riscv*-*-* s390*-*-* } } */
 | ||||
|   | ||||
|    if ( (n <= 8) &&  (m < 99)  && (r < 19) ) | ||||
|        blah(v); /* { dg-bogus "uninitialized" "pr101674" { xfail mmix-*-* } } */ | ||||
							
								
								
									
										12
									
								
								SOURCES/0020-more-fixes.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								SOURCES/0020-more-fixes.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
 | ||||
| index b64e71dae22..5bf47b20820 100644
 | ||||
| --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
 | ||||
| +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
 | ||||
| @@ -12,7 +12,6 @@
 | ||||
|     jump threading opportunities.  Skip the later tests on aarch64.  */ | ||||
|  /* { dg-final { scan-tree-dump-not "Jumps threaded"  "dom3" { target { ! aarch64*-*-* } } } } */ | ||||
|  /* { dg-final { scan-tree-dump "Jumps threaded: 9"  "thread2" { target { ! aarch64*-*-* } } } } */ | ||||
| -/* { dg-final { scan-tree-dump "Jumps threaded: 18"  "thread2" { target { aarch64*-*-* } } } } */
 | ||||
|   | ||||
|  enum STATE { | ||||
|    S0=0, | ||||
							
								
								
									
										424
									
								
								SOURCES/0021-libstdc++-disable-tests.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										424
									
								
								SOURCES/0021-libstdc++-disable-tests.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,424 @@ | ||||
| See https://bugzilla.redhat.com/show_bug.cgi?id=2095749#c3 | ||||
| 
 | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
 | ||||
| index 071597b4dd3..22cfdc7415b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
 | ||||
| @@ -99,5 +99,7 @@ void test02()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test02(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc
 | ||||
| index ec0f943dd73..6c7c0c60ed0 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc
 | ||||
| @@ -351,6 +351,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc
 | ||||
| index d0619f9de1f..499871bf5b4 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc
 | ||||
| @@ -238,6 +238,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc
 | ||||
| index 9171b7d5a17..9c6d1794991 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc
 | ||||
| @@ -62,6 +62,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc
 | ||||
| index 9d004b05e87..9eeff07aaf3 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc
 | ||||
| @@ -91,6 +91,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc
 | ||||
| index 45d4edeca00..6e2efad56d4 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc
 | ||||
| @@ -351,6 +351,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc
 | ||||
| index 0518842692f..485c1b41d1b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc
 | ||||
| @@ -238,6 +238,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc
 | ||||
| index 456472601be..180255e948e 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc
 | ||||
| @@ -62,6 +62,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc
 | ||||
| index 7c5a829fa60..38673aac17b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc
 | ||||
| @@ -91,6 +91,8 @@ test01()
 | ||||
|  int | ||||
|  main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc
 | ||||
| index e50afa6aa73..2f326f85afe 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc
 | ||||
| @@ -74,6 +74,8 @@ void test01()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc
 | ||||
| index f6e32b7f781..54a921e243b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc
 | ||||
| @@ -74,6 +74,8 @@ void test01()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc
 | ||||
| index fe6980dff29..0a033b81138 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc
 | ||||
| @@ -71,7 +71,9 @@ test03()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
|    test03(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc
 | ||||
| index fd040098b40..3adabc60221 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc
 | ||||
| @@ -71,7 +71,9 @@ test03()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
|    test03(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
 | ||||
| index e39f5928a1f..22421b158cb 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
 | ||||
| @@ -15,6 +15,7 @@
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|  #if __cpp_lib_ios_noreplace | ||||
|    std::ios::openmode noreplace = std::ios::noreplace; | ||||
|  #else | ||||
| @@ -26,4 +27,5 @@ int main()
 | ||||
|    of.close(); | ||||
|    of.open("noreplace", noreplace); | ||||
|    VERIFY( ! of.is_open() ); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
 | ||||
| index 77f11865ac4..07748578417 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
 | ||||
| @@ -15,6 +15,7 @@
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|  #if __cpp_lib_ios_noreplace | ||||
|    std::wios::openmode noreplace = std::wios::noreplace; | ||||
|  #else | ||||
| @@ -26,4 +27,5 @@ int main()
 | ||||
|    of.close(); | ||||
|    of.open("noreplace", noreplace); | ||||
|    VERIFY( ! of.is_open() ); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc
 | ||||
| index 12da0b1f011..689ee0ee85b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc
 | ||||
| @@ -98,6 +98,8 @@ test02()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc
 | ||||
| index 652f46f615c..abe55ca1285 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc
 | ||||
| @@ -96,6 +96,8 @@ test02()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc
 | ||||
| index 8c2fe85db36..92fb45495c1 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc
 | ||||
| @@ -59,6 +59,8 @@ test02()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc
 | ||||
| index 887a9a773d1..efb0c2e878a 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc
 | ||||
| @@ -59,6 +59,8 @@ test02()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
 | ||||
| index 39ff1761c55..9583c630fa8 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
 | ||||
| @@ -91,6 +91,8 @@ static bool ampm_time_format()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test02(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
 | ||||
| index 228d61f1e41..a1c3265155f 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
 | ||||
| @@ -91,6 +91,8 @@ static bool ampm_time_format()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test02(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
 | ||||
| index adbf7e7e733..4d6b4e2ec96 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
 | ||||
| @@ -99,5 +99,7 @@ void test02()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test02(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
 | ||||
| index de7a371c1c4..d5fc73d1a36 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
 | ||||
| @@ -59,7 +59,9 @@ void test02()
 | ||||
|   | ||||
|    VERIFY( os.good() ); | ||||
|    VERIFY( buf.sync_called() ); | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    VERIFY( buf_tie.sync_called() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void | ||||
| @@ -80,7 +82,9 @@ test03()
 | ||||
|   | ||||
|    VERIFY( os.rdstate() & std::ios_base::eofbit ); | ||||
|    VERIFY( !buf.sync_called() ); | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    VERIFY( !buf_tie.sync_called() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  int main() | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
 | ||||
| index b330be46afa..40b9dfdb61b 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
 | ||||
| @@ -57,7 +57,9 @@ void test02()
 | ||||
|   | ||||
|    VERIFY( os.good() ); | ||||
|    VERIFY( buf.sync_called() ); | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    VERIFY( buf_tie.sync_called() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  void | ||||
| @@ -78,7 +80,9 @@ test03()
 | ||||
|   | ||||
|    VERIFY( os.rdstate() & std::ios_base::eofbit ); | ||||
|    VERIFY( !buf.sync_called() ); | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    VERIFY( !buf_tie.sync_called() ); | ||||
| +#endif
 | ||||
|  } | ||||
|   | ||||
|  int main() | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
 | ||||
| index 138648f5264..70f651818ba 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
 | ||||
| @@ -73,7 +73,9 @@ void test02()
 | ||||
|  // libstdc++/9546 | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
 | ||||
| index 731df74de9f..b6d31711910 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
 | ||||
| @@ -73,7 +73,9 @@ void test02()
 | ||||
|  // libstdc++/9546 | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
|    test02(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
 | ||||
| index 2eccfdceb94..98d57ff4259 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
 | ||||
| @@ -47,6 +47,8 @@ void test01()
 | ||||
|  // libstdc++/9546 | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
 | ||||
| index 92161b22632..9d75c2c69fb 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
 | ||||
| @@ -47,6 +47,8 @@ void test01()
 | ||||
|  // libstdc++/9546 | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|    return 0; | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
 | ||||
| index d4cd0dc3040..a60acf00b04 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
 | ||||
| @@ -44,5 +44,7 @@ void test01()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|  } | ||||
| diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
 | ||||
| index c639ce54906..5c749922016 100644
 | ||||
| --- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
 | ||||
| @@ -45,5 +45,7 @@ void test01()
 | ||||
|   | ||||
|  int main() | ||||
|  { | ||||
| +#if __LIBSTDCXX_SO_VERSION >= 8
 | ||||
|    test01(); | ||||
| +#endif
 | ||||
|  } | ||||
							
								
								
									
										72
									
								
								SOURCES/0022-libstdc++-revert-behavior.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								SOURCES/0022-libstdc++-revert-behavior.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,72 @@ | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
 | ||||
| index fa740b42b88..5d808ee51ee 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
 | ||||
| @@ -39,14 +39,14 @@ void test01()
 | ||||
|    const ios_base::iostate good = ios_base::goodbit; | ||||
|    ios_base::iostate errorstate = good; | ||||
|   | ||||
| -  iss.str("62/04/71");
 | ||||
| +  iss.str("60/04/71");
 | ||||
|    iterator_type is_it01(iss); | ||||
|    tm time01; | ||||
|    errorstate = good; | ||||
|    iterator_type ret01 = tim_get.get_date(is_it01, end, iss, errorstate, | ||||
|  					 &time01); | ||||
|    VERIFY( errorstate == ios_base::failbit ); | ||||
| -  VERIFY( *ret01 == '2' );
 | ||||
| +  VERIFY( *ret01 == '6' );
 | ||||
|   | ||||
|    iss.str("04/38/71"); | ||||
|    iterator_type is_it02(iss); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
 | ||||
| index 07f4c369e58..c975c8523d8 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
 | ||||
| @@ -40,14 +40,14 @@ void test01()
 | ||||
|    const ios_base::iostate good = ios_base::goodbit; | ||||
|    ios_base::iostate errorstate = good; | ||||
|   | ||||
| -  iss.str(L"62/04/71");
 | ||||
| +  iss.str(L"60/04/71");
 | ||||
|    iterator_type is_it01(iss); | ||||
|    tm time01; | ||||
|    errorstate = good; | ||||
|    iterator_type ret01 = tim_get.get_date(is_it01, end, iss, errorstate, | ||||
|  					 &time01); | ||||
|    VERIFY( errorstate == ios_base::failbit ); | ||||
| -  VERIFY( *ret01 == L'2' );
 | ||||
| +  VERIFY( *ret01 == L'6' );
 | ||||
|   | ||||
|    iss.str(L"04/38/71"); | ||||
|    iterator_type is_it02(iss); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
 | ||||
| index e6f53de4a55..c9d9896a6c0 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
 | ||||
| @@ -76,8 +76,8 @@ void test01()
 | ||||
|    errorstate = good; | ||||
|    iterator_type ret03 = tim_get.get_year(is_it03, end, iss, errorstate, | ||||
|  					 &time03); | ||||
| -  VERIFY( time03.tm_year == 197 - 1900 );
 | ||||
| -  VERIFY( errorstate == good );
 | ||||
| +  VERIFY( time03.tm_year == 3 );
 | ||||
| +  VERIFY( errorstate == ios_base::failbit );
 | ||||
|    VERIFY( *ret03 == 'd' ); | ||||
|   | ||||
|    iss.str("71d71"); | ||||
| diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
 | ||||
| index ba95fb91520..e17712098f4 100644
 | ||||
| --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
 | ||||
| +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
 | ||||
| @@ -76,8 +76,8 @@ void test01()
 | ||||
|    errorstate = good; | ||||
|    iterator_type ret03 = tim_get.get_year(is_it03, end, iss, errorstate, | ||||
|  					 &time03); | ||||
| -  VERIFY( time03.tm_year == 197 - 1900 );
 | ||||
| -  VERIFY( errorstate == good );
 | ||||
| +  VERIFY( time03.tm_year == 3 );
 | ||||
| +  VERIFY( errorstate == ios_base::failbit );
 | ||||
|    VERIFY( *ret03 == L'd' ); | ||||
|   | ||||
|    iss.str(L"71d71"); | ||||
							
								
								
									
										62
									
								
								SOURCES/gcc13-Wno-format-security.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								SOURCES/gcc13-Wno-format-security.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| 2022-01-07  Jakub Jelinek  <jakub@redhat.com> | ||||
| 
 | ||||
| 	* Makefile.tpl (GOCFLAGS, GDCFLAGS): Filter out -Wformat-security. | ||||
| 	* Makefile.in: Regenerated. | ||||
| 
 | ||||
| 2017-02-25  Jakub Jelinek  <jakub@redhat.com> | ||||
| 
 | ||||
| 	* 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
 | ||||
| @@ -570,7 +570,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 $wf_opt])), | ||||
| --- gcc/configure.jj	2017-02-13 12:20:52.000000000 +0100
 | ||||
| +++ gcc/configure	2017-02-25 12:42:50.041946391 +0100
 | ||||
| @@ -7077,7 +7077,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 | ||||
| --- Makefile.tpl.jj	2021-12-30 15:12:42.188164847 +0100
 | ||||
| +++ Makefile.tpl	2022-01-07 12:06:12.115550714 +0100
 | ||||
| @@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@
 | ||||
|  LIBCFLAGS = $(CFLAGS) | ||||
|  CXXFLAGS = @CXXFLAGS@ | ||||
|  LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates | ||||
| -GOCFLAGS = $(CFLAGS)
 | ||||
| -GDCFLAGS = $(CFLAGS)
 | ||||
| -GM2FLAGS = $(CFLAGS)
 | ||||
| +GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
 | ||||
| +GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
 | ||||
| +GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
 | ||||
|   | ||||
|  # Pass additional PGO and LTO compiler options to the PGO build. | ||||
|  BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) | ||||
| --- Makefile.in.jj	2021-12-30 15:12:42.188164847 +0100
 | ||||
| +++ Makefile.in	2022-01-07 12:06:27.335334561 +0100
 | ||||
| @@ -443,9 +443,9 @@ LDFLAGS = @LDFLAGS@
 | ||||
|  LIBCFLAGS = $(CFLAGS) | ||||
|  CXXFLAGS = @CXXFLAGS@ | ||||
|  LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates | ||||
| -GOCFLAGS = $(CFLAGS)
 | ||||
| -GDCFLAGS = $(CFLAGS)
 | ||||
| -GM2FLAGS = $(CFLAGS)
 | ||||
| +GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
 | ||||
| +GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
 | ||||
| +GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
 | ||||
|   | ||||
|  # Pass additional PGO and LTO compiler options to the PGO build. | ||||
|  BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) | ||||
							
								
								
									
										20
									
								
								SOURCES/gcc13-d-shared-libphobos.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								SOURCES/gcc13-d-shared-libphobos.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| 2019-01-17  Jakub Jelinek  <jakub@redhat.com> | ||||
| 
 | ||||
| 	* 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) | ||||
							
								
								
									
										44
									
								
								SOURCES/gcc13-dg-ice-fixes.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								SOURCES/gcc13-dg-ice-fixes.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
 | ||||
| +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
 | ||||
| @@ -1,6 +1,6 @@
 | ||||
|  /* { dg-additional-options "--param openacc-kernels=decompose" } */ | ||||
| 
 | ||||
| -/* { dg-additional-options "-fchecking" }
 | ||||
| +/* { dg-additional-options "-fchecking -fno-report-bug" }
 | ||||
|     { dg-ice TODO { c++ } } | ||||
|     { dg-prune-output "during GIMPLE pass: omp_oacc_kernels_decompose" } */ | ||||
| 
 | ||||
| --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-4.c
 | ||||
| +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-4.c
 | ||||
| @@ -1,6 +1,6 @@
 | ||||
|  /* { dg-additional-options "--param openacc-kernels=decompose" } */ | ||||
| 
 | ||||
| -/* { dg-additional-options "-fchecking" }
 | ||||
| +/* { dg-additional-options "-fchecking -fno-report-bug" }
 | ||||
|     { dg-ice TODO { c++ } } | ||||
|     { dg-prune-output "during GIMPLE pass: omp_oacc_kernels_decompose" } */ | ||||
| 
 | ||||
| diff --git a/gcc/testsuite/g++.dg/cpp0x/vt-88982.C b/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
 | ||||
| index 7a868233d73..45307a63483 100644
 | ||||
| --- a/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
 | ||||
| +++ b/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
 | ||||
| @@ -1,6 +1,6 @@
 | ||||
|  // PR c++/88982 | ||||
|  // { dg-do compile { target c++11 } } | ||||
| -// { dg-additional-options "-fchecking" }
 | ||||
| +// { dg-additional-options "-fchecking -fno-report-bug" }
 | ||||
|  // { dg-ice "tsubst_pack_expansion" } | ||||
|   | ||||
|  template<typename...Ts> struct A { | ||||
| diff --git a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
 | ||||
| index bed5ea0cfc0..cb235bf891a 100644
 | ||||
| --- a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
 | ||||
| +++ b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
 | ||||
| @@ -1,6 +1,6 @@
 | ||||
|  // PR c++/88003 | ||||
|  // { dg-do compile { target c++14 } } | ||||
| -// { dg-additional-options "-fchecking" }
 | ||||
| +// { dg-additional-options "-fchecking -fno-report-bug" }
 | ||||
|  // { dg-ice "poplevel_class" } | ||||
|   | ||||
|  auto test() { | ||||
							
								
								
									
										215
									
								
								SOURCES/gcc13-fortran-fdec-duplicates.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										215
									
								
								SOURCES/gcc13-fortran-fdec-duplicates.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,215 @@ | ||||
| From 23b1fcb104c666429451ffaf936f8da5fcd3d43a Mon Sep 17 00:00:00 2001 | ||||
| From: Mark Eggleston <markeggleston@gcc.gnu.org> | ||||
| Date: Fri, 22 Jan 2021 12:29:47 +0000 | ||||
| Subject: [PATCH 01/10] Allow duplicate declarations. | ||||
| 
 | ||||
| Enabled by -fdec-duplicates and -fdec. | ||||
| 
 | ||||
| Some fixes by Jim MacArthur <jim.macarthur@codethink.co.uk> | ||||
| Addition of -fdec-duplicates by Mark Eggleston <mark.eggleston@codethink.com> | ||||
| ---
 | ||||
|  gcc/fortran/lang.opt                          |  4 ++++ | ||||
|  gcc/fortran/options.cc                        |  1 + | ||||
|  gcc/fortran/symbol.cc                         | 21 +++++++++++++++++-- | ||||
|  .../gfortran.dg/duplicate_type_4.f90          | 13 ++++++++++++ | ||||
|  .../gfortran.dg/duplicate_type_5.f90          | 13 ++++++++++++ | ||||
|  .../gfortran.dg/duplicate_type_6.f90          | 13 ++++++++++++ | ||||
|  .../gfortran.dg/duplicate_type_7.f90          | 13 ++++++++++++ | ||||
|  .../gfortran.dg/duplicate_type_8.f90          | 12 +++++++++++ | ||||
|  .../gfortran.dg/duplicate_type_9.f90          | 12 +++++++++++ | ||||
|  9 files changed, 100 insertions(+), 2 deletions(-) | ||||
|  create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_4.f90 | ||||
|  create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_5.f90 | ||||
|  create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_6.f90 | ||||
|  create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_7.f90 | ||||
|  create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_8.f90 | ||||
|  create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_9.f90 | ||||
| 
 | ||||
| diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
 | ||||
| index 2b1977c523b..52bd522051e 100644
 | ||||
| --- a/gcc/fortran/lang.opt
 | ||||
| +++ b/gcc/fortran/lang.opt
 | ||||
| @@ -469,6 +469,10 @@ Fortran Var(flag_dec_char_conversions)
 | ||||
|  Enable the use of character literals in assignments and data statements | ||||
|  for non-character variables. | ||||
|   | ||||
| +fdec-duplicates
 | ||||
| +Fortran Var(flag_dec_duplicates)
 | ||||
| +Allow varibles to be duplicated in the type specification matches.
 | ||||
| +
 | ||||
|  fdec-include | ||||
|  Fortran Var(flag_dec_include) | ||||
|  Enable legacy parsing of INCLUDE as statement. | ||||
| diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
 | ||||
| index 3a0b98bf1ec..f19ba87f8a0 100644
 | ||||
| --- a/gcc/fortran/options.cc
 | ||||
| +++ b/gcc/fortran/options.cc
 | ||||
| @@ -77,6 +77,7 @@ set_dec_flags (int value)
 | ||||
|    SET_BITFLAG (flag_dec_format_defaults, value, value); | ||||
|    SET_BITFLAG (flag_dec_blank_format_item, value, value); | ||||
|    SET_BITFLAG (flag_dec_char_conversions, value, value); | ||||
| +  SET_BITFLAG (flag_dec_duplicates, value, value);
 | ||||
|  } | ||||
|   | ||||
|  /* Finalize DEC flags.  */ | ||||
| diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc
 | ||||
| index 3b988d1be22..9843175cc2a 100644
 | ||||
| --- a/gcc/fortran/symbol.cc
 | ||||
| +++ b/gcc/fortran/symbol.cc
 | ||||
| @@ -1995,6 +1995,8 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
 | ||||
|    if (sym->attr.result && type == BT_UNKNOWN && sym->ns->proc_name) | ||||
|      type = sym->ns->proc_name->ts.type; | ||||
|   | ||||
| +  flavor = sym->attr.flavor;
 | ||||
| +
 | ||||
|    if (type != BT_UNKNOWN && !(sym->attr.function && sym->attr.implicit_type) | ||||
|        && !(gfc_state_stack->previous && gfc_state_stack->previous->previous | ||||
|  	   && gfc_state_stack->previous->previous->state == COMP_SUBMODULE) | ||||
| @@ -2007,6 +2009,23 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
 | ||||
|        else if (sym->attr.function && sym->attr.result) | ||||
|  	gfc_error ("Symbol %qs at %L already has basic type of %s", | ||||
|  		   sym->ns->proc_name->name, where, gfc_basic_typename (type)); | ||||
| +      else if (flag_dec_duplicates)
 | ||||
| +	{
 | ||||
| +	  /* Ignore temporaries and class/procedure names */
 | ||||
| +	  if (sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS
 | ||||
| +	      || sym->ts.type == BT_PROCEDURE)
 | ||||
| +	    return false;
 | ||||
| +
 | ||||
| +	  if (gfc_compare_types (&sym->ts, ts)
 | ||||
| +	      && (flavor == FL_UNKNOWN || flavor == FL_VARIABLE
 | ||||
| +	      || flavor == FL_PROCEDURE))
 | ||||
| +	    {
 | ||||
| +	      return gfc_notify_std (GFC_STD_LEGACY,
 | ||||
| +				     "Symbol '%qs' at %L already has "
 | ||||
| +				     "basic type of %s", sym->name, where,
 | ||||
| +				     gfc_basic_typename (type));
 | ||||
| +	    }
 | ||||
| +	}
 | ||||
|        else | ||||
|  	gfc_error ("Symbol %qs at %L already has basic type of %s", sym->name, | ||||
|  		   where, gfc_basic_typename (type)); | ||||
| @@ -2020,8 +2039,6 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
 | ||||
|        return false; | ||||
|      } | ||||
|   | ||||
| -  flavor = sym->attr.flavor;
 | ||||
| -
 | ||||
|    if (flavor == FL_PROGRAM || flavor == FL_BLOCK_DATA || flavor == FL_MODULE | ||||
|        || flavor == FL_LABEL | ||||
|        || (flavor == FL_PROCEDURE && sym->attr.subroutine) | ||||
| diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_4.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_4.f90
 | ||||
| new file mode 100644 | ||||
| index 00000000000..cdd29ea8846
 | ||||
| --- /dev/null
 | ||||
| +++ b/gcc/testsuite/gfortran.dg/duplicate_type_4.f90
 | ||||
| @@ -0,0 +1,13 @@
 | ||||
| +! { dg-do compile }
 | ||||
| +! { dg-options "-std=f95" }
 | ||||
| +
 | ||||
| +! PR fortran/30239
 | ||||
| +! Check for errors when a symbol gets declared a type twice, even if it
 | ||||
| +! is the same.
 | ||||
| +
 | ||||
| +INTEGER FUNCTION foo ()
 | ||||
| +  IMPLICIT NONE
 | ||||
| +  INTEGER :: x
 | ||||
| +  INTEGER :: x ! { dg-error "basic type of" }
 | ||||
| +  x = 42
 | ||||
| +END FUNCTION foo
 | ||||
| diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_5.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_5.f90
 | ||||
| new file mode 100644 | ||||
| index 00000000000..00f931809aa
 | ||||
| --- /dev/null
 | ||||
| +++ b/gcc/testsuite/gfortran.dg/duplicate_type_5.f90
 | ||||
| @@ -0,0 +1,13 @@
 | ||||
| +! { dg-do run }
 | ||||
| +! { dg-options "-fdec" }
 | ||||
| +!
 | ||||
| +! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
 | ||||
| +!
 | ||||
| +
 | ||||
| +program test
 | ||||
| +  implicit none
 | ||||
| +  integer :: x
 | ||||
| +  integer :: x
 | ||||
| +  x = 42
 | ||||
| +  if (x /= 42) stop 1
 | ||||
| +end program test
 | ||||
| diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_6.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_6.f90
 | ||||
| new file mode 100644 | ||||
| index 00000000000..f0df27e323c
 | ||||
| --- /dev/null
 | ||||
| +++ b/gcc/testsuite/gfortran.dg/duplicate_type_6.f90
 | ||||
| @@ -0,0 +1,13 @@
 | ||||
| +! { dg-do run }
 | ||||
| +! { dg-options "-std=legacy -fdec-duplicates" }
 | ||||
| +!
 | ||||
| +! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
 | ||||
| +!
 | ||||
| +
 | ||||
| +program test
 | ||||
| +  implicit none
 | ||||
| +  integer :: x
 | ||||
| +  integer :: x
 | ||||
| +  x = 42
 | ||||
| +  if (x /= 42) stop 1
 | ||||
| +end program test
 | ||||
| diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_7.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_7.f90
 | ||||
| new file mode 100644 | ||||
| index 00000000000..f32472ff586
 | ||||
| --- /dev/null
 | ||||
| +++ b/gcc/testsuite/gfortran.dg/duplicate_type_7.f90
 | ||||
| @@ -0,0 +1,13 @@
 | ||||
| +! { dg-do run }
 | ||||
| +! { dg-options "-fdec-duplicates" }
 | ||||
| +!
 | ||||
| +! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
 | ||||
| +!
 | ||||
| +
 | ||||
| +program test
 | ||||
| +  implicit none
 | ||||
| +  integer :: x
 | ||||
| +  integer :: x! { dg-warning "Legacy Extension" }
 | ||||
| +  x = 42
 | ||||
| +  if (x /= 42) stop 1
 | ||||
| +end program test
 | ||||
| diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_8.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_8.f90
 | ||||
| new file mode 100644 | ||||
| index 00000000000..23c94add179
 | ||||
| --- /dev/null
 | ||||
| +++ b/gcc/testsuite/gfortran.dg/duplicate_type_8.f90
 | ||||
| @@ -0,0 +1,12 @@
 | ||||
| +! { dg-do compile }
 | ||||
| +! { dg-options "-fdec -fno-dec-duplicates" }
 | ||||
| +!
 | ||||
| +! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
 | ||||
| +!
 | ||||
| +
 | ||||
| +integer function foo ()
 | ||||
| +  implicit none
 | ||||
| +  integer :: x
 | ||||
| +  integer :: x ! { dg-error "basic type of" }
 | ||||
| +  x = 42
 | ||||
| +end function foo
 | ||||
| diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_9.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_9.f90
 | ||||
| new file mode 100644 | ||||
| index 00000000000..d5edee4d8ee
 | ||||
| --- /dev/null
 | ||||
| +++ b/gcc/testsuite/gfortran.dg/duplicate_type_9.f90
 | ||||
| @@ -0,0 +1,12 @@
 | ||||
| +! { dg-do compile }
 | ||||
| +! { dg-options "-fdec-duplicates -fno-dec-duplicates" }
 | ||||
| +!
 | ||||
| +! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
 | ||||
| +!
 | ||||
| +
 | ||||
| +integer function foo ()
 | ||||
| +  implicit none
 | ||||
| +  integer :: x
 | ||||
| +  integer :: x ! { dg-error "basic type of" }
 | ||||
| +  x = 42
 | ||||
| +end function foo
 | ||||
| -- 
 | ||||
| 2.27.0 | ||||
| 
 | ||||
							
								
								
									
										126
									
								
								SOURCES/gcc13-hack.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								SOURCES/gcc13-hack.patch
									
									
									
									
									
										Normal file
									
								
							| @ -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.cc.jj	2019-01-09 13:01:21.420552123 +0100
 | ||||
| +++ libcpp/macro.cc	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.cc.jj	2019-01-09 13:01:22.415535734 +0100
 | ||||
| +++ libcpp/expr.cc	2019-01-11 18:16:23.444726882 +0100
 | ||||
| @@ -803,16 +803,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"));
 | ||||
|          } | ||||
|   | ||||
|        if ((result & CPP_N_SIZE_T) == CPP_N_SIZE_T | ||||
							
								
								
									
										716
									
								
								SOURCES/gcc13-isl-dl.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										716
									
								
								SOURCES/gcc13-isl-dl.patch
									
									
									
									
									
										Normal file
									
								
							| @ -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	2022-11-03 19:14:50.369690720 +0100
 | ||||
| @@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
 | ||||
|   | ||||
|  #include "sese.h" | ||||
|   | ||||
| +#include <isl/version.h>
 | ||||
| +#include <dlfcn.h>
 | ||||
| +
 | ||||
| +#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<sese_l> &); | ||||
|  extern void dot_sese (sese_l &); | ||||
|  extern void dot_cfg (); | ||||
| +extern const char *get_isl_version (bool);
 | ||||
|   | ||||
|  #endif | ||||
| --- gcc/graphite.cc.jj	2015-11-04 14:15:32.000000000 +0100
 | ||||
| +++ gcc/graphite.cc	2015-11-04 14:56:02.645536409 +0100
 | ||||
| @@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
 | ||||
|  #include "tree-ssa-propagate.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.23", 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 | ||||
| @@ -424,6 +453,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 | ||||
| @@ -519,6 +557,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.cc.jj	2017-02-19 13:02:31.000000000 +0100
 | ||||
| +++ gcc/toplev.cc	2017-02-19 16:50:25.536301350 +0100
 | ||||
| @@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
 | ||||
|   | ||||
|  #ifdef HAVE_isl | ||||
|  #include <isl/version.h> | ||||
| +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)) | ||||
							
								
								
									
										71
									
								
								SOURCES/gcc13-isl-dl2.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								SOURCES/gcc13-isl-dl2.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| 2011-04-04  Jakub Jelinek  <jakub@redhat.com> | ||||
| 
 | ||||
| 	* toplev.cc (toplev_main_argv): New variable. | ||||
| 	(toplev_main): Initialize it. | ||||
| 	* graphite.cc (init_isl_pointers): Load libisl.so.23 from gcc's private | ||||
| 	directory. | ||||
| 
 | ||||
| --- gcc/toplev.cc.jj	2008-12-09 23:59:10.000000000 +0100
 | ||||
| +++ gcc/toplev.cc	2009-01-27 14:33:52.000000000 +0100
 | ||||
| @@ -113,6 +113,8 @@ static void finalize (bool);
 | ||||
|  static void crash_signal (int) ATTRIBUTE_NORETURN; | ||||
|  static void compile_file (void); | ||||
|   | ||||
| +const char **toplev_main_argv;
 | ||||
| +
 | ||||
|  /* Decoded options, and number of such options.  */ | ||||
|  struct cl_decoded_option *save_decoded_options; | ||||
|  unsigned int save_decoded_options_count; | ||||
| @@ -2239,6 +2241,8 @@ toplev::main (int argc, char **argv)
 | ||||
|   | ||||
|    expandargv (&argc, &argv); | ||||
|   | ||||
| +  toplev_main_argv = CONST_CAST2 (const char **, char **, argv);
 | ||||
| +
 | ||||
|    /* Initialization of GCC's environment, and diagnostics.  */ | ||||
|    general_init (argv[0], m_init_signals); | ||||
|   | ||||
| --- gcc/graphite.cc.jj	2010-12-01 10:24:32.000000000 -0500
 | ||||
| +++ gcc/graphite.cc	2010-12-01 11:46:07.832118193 -0500
 | ||||
| @@ -64,11 +64,39 @@ __typeof (isl_pointers__) isl_pointers__
 | ||||
|  static bool | ||||
|  init_isl_pointers (void) | ||||
|  { | ||||
| -  void *h;
 | ||||
| +  void *h = NULL;
 | ||||
| +  extern const char **toplev_main_argv;
 | ||||
| +  char *buf, *p;
 | ||||
| +  size_t len;
 | ||||
|   | ||||
|    if (isl_pointers__.inited) | ||||
|      return isl_pointers__.h != NULL; | ||||
| -  h = dlopen ("libisl.so.23", RTLD_LAZY);
 | ||||
| +  len = progname - toplev_main_argv[0];
 | ||||
| +  buf = XALLOCAVAR (char, len + sizeof "libisl.so.23");
 | ||||
| +  memcpy (buf, toplev_main_argv[0], len);
 | ||||
| +  strcpy (buf + len, "libisl.so.23");
 | ||||
| +  len += sizeof "libisl.so.23";
 | ||||
| +  p = strstr (buf, "/libexec/");
 | ||||
| +  if (p != NULL)
 | ||||
| +    {
 | ||||
| +      while (1)
 | ||||
| +	{
 | ||||
| +	  char *q = strstr (p + 8, "/libexec/");
 | ||||
| +	  if (q == NULL)
 | ||||
| +	    break;
 | ||||
| +	  p = q;
 | ||||
| +	}
 | ||||
| +      memmove (p + 4, p + 8, len - (p + 8 - buf));
 | ||||
| +      h = dlopen (buf, RTLD_LAZY);
 | ||||
| +      if (h == NULL)
 | ||||
| +	{
 | ||||
| +	  len = progname - toplev_main_argv[0];
 | ||||
| +	  memcpy (buf, toplev_main_argv[0], len);
 | ||||
| +	  strcpy (buf + len, "libisl.so.23");
 | ||||
| +	}
 | ||||
| +    }
 | ||||
| +  if (h == NULL)
 | ||||
| +    h = dlopen (buf, RTLD_LAZY);
 | ||||
|    isl_pointers__.h = h; | ||||
|    if (h == NULL) | ||||
|      return false; | ||||
							
								
								
									
										754
									
								
								SOURCES/gcc13-libgfortran-compat.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										754
									
								
								SOURCES/gcc13-libgfortran-compat.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,754 @@ | ||||
| --- libgfortran/Makefile.am.jj	2023-04-17 13:48:14.569100397 +0200
 | ||||
| +++ libgfortran/Makefile.am	2023-05-22 15:03:22.905739752 +0200
 | ||||
| @@ -45,6 +45,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
 | ||||
|  	    $(lt_host_flags) | ||||
|   | ||||
|  toolexeclib_LTLIBRARIES = libgfortran.la | ||||
| +noinst_LTLIBRARIES = libgfortran_nonshared80.la libgfortran_nonshared110.la
 | ||||
|  toolexeclib_DATA = libgfortran.spec | ||||
|  libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) | ||||
|  libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ | ||||
| @@ -1154,6 +1155,98 @@ libgfortran_la_SOURCES = $(prereq_SRC)
 | ||||
|   | ||||
|  endif | ||||
|   | ||||
| +$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/generated/%.c
 | ||||
| +	$(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/generated/%.c
 | ||||
| +	$(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/intrinsics/%.c
 | ||||
| +	$(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/intrinsics/%.c
 | ||||
| +	$(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/runtime/%.c
 | ||||
| +	$(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/runtime/%.c
 | ||||
| +	$(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.f90,%.lo,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/intrinsics/%.f90
 | ||||
| +	$(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
 | ||||
| +
 | ||||
| +$(patsubst %.f90,%.o,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/intrinsics/%.f90
 | ||||
| +	$(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
 | ||||
| +
 | ||||
| +nonshared_runtime_C_SRC = \
 | ||||
| +nonshared-ISO_Fortran_binding.c
 | ||||
| +
 | ||||
| +nonshared_io_C_SRC = \
 | ||||
| +$(srcdir)/io/nonshared-transfer.c
 | ||||
| +
 | ||||
| +nonshared_generated_C_SRC = \
 | ||||
| +nonshared-findloc0_i1.c \
 | ||||
| +nonshared-findloc0_i2.c \
 | ||||
| +nonshared-findloc0_i4.c \
 | ||||
| +nonshared-findloc0_i8.c \
 | ||||
| +nonshared-findloc0_i16.c \
 | ||||
| +nonshared-findloc0_r4.c \
 | ||||
| +nonshared-findloc0_r8.c \
 | ||||
| +nonshared-findloc0_r10.c \
 | ||||
| +nonshared-findloc0_r16.c \
 | ||||
| +nonshared-findloc0_c4.c \
 | ||||
| +nonshared-findloc0_c8.c \
 | ||||
| +nonshared-findloc0_c10.c \
 | ||||
| +nonshared-findloc0_c16.c \
 | ||||
| +nonshared-findloc0_s1.c \
 | ||||
| +nonshared-findloc0_s4.c \
 | ||||
| +nonshared-findloc1_i1.c \
 | ||||
| +nonshared-findloc1_i2.c \
 | ||||
| +nonshared-findloc1_i4.c \
 | ||||
| +nonshared-findloc1_i8.c \
 | ||||
| +nonshared-findloc1_i16.c \
 | ||||
| +nonshared-findloc1_r4.c \
 | ||||
| +nonshared-findloc1_r8.c \
 | ||||
| +nonshared-findloc1_r10.c \
 | ||||
| +nonshared-findloc1_r16.c \
 | ||||
| +nonshared-findloc1_c4.c \
 | ||||
| +nonshared-findloc1_c8.c \
 | ||||
| +nonshared-findloc1_c10.c \
 | ||||
| +nonshared-findloc1_c16.c \
 | ||||
| +nonshared-findloc1_s1.c \
 | ||||
| +nonshared-findloc1_s4.c \
 | ||||
| +nonshared-findloc2_s1.c \
 | ||||
| +nonshared-findloc2_s4.c
 | ||||
| +
 | ||||
| +nonshared_intrinsics_C_SRC = \
 | ||||
| +nonshared-is_contiguous.c \
 | ||||
| +nonshared-trigd.c
 | ||||
| +
 | ||||
| +nonshared_intrinsics_f90_SRC = \
 | ||||
| +nonshared-random_init.f90
 | ||||
| +
 | ||||
| +libgfortran_nonshared80_la_SOURCES = \
 | ||||
| +$(nonshared_runtime_C_SRC) \
 | ||||
| +$(nonshared_generated_C_SRC) \
 | ||||
| +$(nonshared_intrinsics_C_SRC) \
 | ||||
| +$(nonshared_intrinsics_f90_SRC) \
 | ||||
| +$(srcdir)/ieee/nonshared-ieee_arithmetic.c \
 | ||||
| +$(srcdir)/ieee/nonshared-ieee_exceptions.c \
 | ||||
| +$(srcdir)/io/nonshared-transfer.c \
 | ||||
| +$(srcdir)/runtime/nonshared-error.c
 | ||||
| +
 | ||||
| +libgfortran_nonshared110_la_SOURCES = \
 | ||||
| +$(srcdir)/ieee/nonshared-ieee_exceptions.c
 | ||||
| +
 | ||||
|  I_M4_DEPS=m4/iparm.m4 m4/mtype.m4 | ||||
|  I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4 | ||||
|  I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4 | ||||
| --- libgfortran/Makefile.in.jj	2023-04-17 13:48:14.573100340 +0200
 | ||||
| +++ libgfortran/Makefile.in	2023-05-22 15:03:49.601374648 +0200
 | ||||
| @@ -217,7 +217,8 @@ am__uninstall_files_from_dir = { \
 | ||||
|  am__installdirs = "$(DESTDIR)$(cafexeclibdir)" \ | ||||
|  	"$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" \ | ||||
|  	"$(DESTDIR)$(gfor_cdir)" "$(DESTDIR)$(fincludedir)" | ||||
| -LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
 | ||||
| +LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(noinst_LTLIBRARIES) \
 | ||||
| +	$(toolexeclib_LTLIBRARIES)
 | ||||
|  libcaf_single_la_LIBADD = | ||||
|  am_libcaf_single_la_OBJECTS = single.lo | ||||
|  libcaf_single_la_OBJECTS = $(am_libcaf_single_la_OBJECTS) | ||||
| @@ -487,6 +488,40 @@ am__objects_65 = $(am__objects_3) $(am__
 | ||||
|  @onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_65) | ||||
|  @onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo | ||||
|  libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS) | ||||
| +libgfortran_nonshared110_la_LIBADD =
 | ||||
| +am_libgfortran_nonshared110_la_OBJECTS = nonshared-ieee_exceptions.lo
 | ||||
| +libgfortran_nonshared110_la_OBJECTS =  \
 | ||||
| +	$(am_libgfortran_nonshared110_la_OBJECTS)
 | ||||
| +AM_V_lt = $(am__v_lt_@AM_V@)
 | ||||
| +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 | ||||
| +am__v_lt_0 = --silent
 | ||||
| +am__v_lt_1 = 
 | ||||
| +libgfortran_nonshared80_la_LIBADD =
 | ||||
| +am__objects_66 = nonshared-ISO_Fortran_binding.lo
 | ||||
| +am__objects_67 = nonshared-findloc0_i1.lo nonshared-findloc0_i2.lo \
 | ||||
| +	nonshared-findloc0_i4.lo nonshared-findloc0_i8.lo \
 | ||||
| +	nonshared-findloc0_i16.lo nonshared-findloc0_r4.lo \
 | ||||
| +	nonshared-findloc0_r8.lo nonshared-findloc0_r10.lo \
 | ||||
| +	nonshared-findloc0_r16.lo nonshared-findloc0_c4.lo \
 | ||||
| +	nonshared-findloc0_c8.lo nonshared-findloc0_c10.lo \
 | ||||
| +	nonshared-findloc0_c16.lo nonshared-findloc0_s1.lo \
 | ||||
| +	nonshared-findloc0_s4.lo nonshared-findloc1_i1.lo \
 | ||||
| +	nonshared-findloc1_i2.lo nonshared-findloc1_i4.lo \
 | ||||
| +	nonshared-findloc1_i8.lo nonshared-findloc1_i16.lo \
 | ||||
| +	nonshared-findloc1_r4.lo nonshared-findloc1_r8.lo \
 | ||||
| +	nonshared-findloc1_r10.lo nonshared-findloc1_r16.lo \
 | ||||
| +	nonshared-findloc1_c4.lo nonshared-findloc1_c8.lo \
 | ||||
| +	nonshared-findloc1_c10.lo nonshared-findloc1_c16.lo \
 | ||||
| +	nonshared-findloc1_s1.lo nonshared-findloc1_s4.lo \
 | ||||
| +	nonshared-findloc2_s1.lo nonshared-findloc2_s4.lo
 | ||||
| +am__objects_68 = nonshared-is_contiguous.lo nonshared-trigd.lo
 | ||||
| +am__objects_69 = nonshared-random_init.lo
 | ||||
| +am_libgfortran_nonshared80_la_OBJECTS = $(am__objects_66) \
 | ||||
| +	$(am__objects_67) $(am__objects_68) $(am__objects_69) \
 | ||||
| +	nonshared-ieee_arithmetic.lo nonshared-ieee_exceptions.lo \
 | ||||
| +	nonshared-transfer.lo nonshared-error.lo
 | ||||
| +libgfortran_nonshared80_la_OBJECTS =  \
 | ||||
| +	$(am_libgfortran_nonshared80_la_OBJECTS)
 | ||||
|  AM_V_P = $(am__v_P_@AM_V@) | ||||
|  am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | ||||
|  am__v_P_0 = false | ||||
| @@ -503,10 +538,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@
 | ||||
|  depcomp = $(SHELL) $(top_srcdir)/../depcomp | ||||
|  am__depfiles_maybe = depfiles | ||||
|  am__mv = mv -f | ||||
| -AM_V_lt = $(am__v_lt_@AM_V@)
 | ||||
| -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 | ||||
| -am__v_lt_0 = --silent
 | ||||
| -am__v_lt_1 = 
 | ||||
|  PPFCCOMPILE = $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ | ||||
|  	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) | ||||
|  LTPPFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ | ||||
| @@ -550,7 +581,9 @@ AM_V_FC = $(am__v_FC_@AM_V@)
 | ||||
|  am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@) | ||||
|  am__v_FC_0 = @echo "  FC      " $@; | ||||
|  am__v_FC_1 =  | ||||
| -SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES)
 | ||||
| +SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES) \
 | ||||
| +	$(libgfortran_nonshared110_la_SOURCES) \
 | ||||
| +	$(libgfortran_nonshared80_la_SOURCES)
 | ||||
|  am__can_run_installinfo = \ | ||||
|    case $$AM_UPDATE_INFO_DIR in \ | ||||
|      n|no|NO) false;; \ | ||||
| @@ -755,6 +788,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
 | ||||
|  	    $(lt_host_flags) | ||||
|   | ||||
|  toolexeclib_LTLIBRARIES = libgfortran.la | ||||
| +noinst_LTLIBRARIES = libgfortran_nonshared80.la libgfortran_nonshared110.la
 | ||||
|  toolexeclib_DATA = libgfortran.spec | ||||
|  libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) | ||||
|  libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ | ||||
| @@ -1671,6 +1705,66 @@ prereq_SRC = $(gfor_src) $(gfor_built_sr
 | ||||
|  #libgfortran_F.lo:  | ||||
|  #	$(LTPPFCCOMPILE) -c -o $@ $^ -combine | ||||
|  @onestep_TRUE@libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC)) | ||||
| +nonshared_runtime_C_SRC = \
 | ||||
| +nonshared-ISO_Fortran_binding.c
 | ||||
| +
 | ||||
| +nonshared_io_C_SRC = \
 | ||||
| +$(srcdir)/io/nonshared-transfer.c
 | ||||
| +
 | ||||
| +nonshared_generated_C_SRC = \
 | ||||
| +nonshared-findloc0_i1.c \
 | ||||
| +nonshared-findloc0_i2.c \
 | ||||
| +nonshared-findloc0_i4.c \
 | ||||
| +nonshared-findloc0_i8.c \
 | ||||
| +nonshared-findloc0_i16.c \
 | ||||
| +nonshared-findloc0_r4.c \
 | ||||
| +nonshared-findloc0_r8.c \
 | ||||
| +nonshared-findloc0_r10.c \
 | ||||
| +nonshared-findloc0_r16.c \
 | ||||
| +nonshared-findloc0_c4.c \
 | ||||
| +nonshared-findloc0_c8.c \
 | ||||
| +nonshared-findloc0_c10.c \
 | ||||
| +nonshared-findloc0_c16.c \
 | ||||
| +nonshared-findloc0_s1.c \
 | ||||
| +nonshared-findloc0_s4.c \
 | ||||
| +nonshared-findloc1_i1.c \
 | ||||
| +nonshared-findloc1_i2.c \
 | ||||
| +nonshared-findloc1_i4.c \
 | ||||
| +nonshared-findloc1_i8.c \
 | ||||
| +nonshared-findloc1_i16.c \
 | ||||
| +nonshared-findloc1_r4.c \
 | ||||
| +nonshared-findloc1_r8.c \
 | ||||
| +nonshared-findloc1_r10.c \
 | ||||
| +nonshared-findloc1_r16.c \
 | ||||
| +nonshared-findloc1_c4.c \
 | ||||
| +nonshared-findloc1_c8.c \
 | ||||
| +nonshared-findloc1_c10.c \
 | ||||
| +nonshared-findloc1_c16.c \
 | ||||
| +nonshared-findloc1_s1.c \
 | ||||
| +nonshared-findloc1_s4.c \
 | ||||
| +nonshared-findloc2_s1.c \
 | ||||
| +nonshared-findloc2_s4.c
 | ||||
| +
 | ||||
| +nonshared_intrinsics_C_SRC = \
 | ||||
| +nonshared-is_contiguous.c \
 | ||||
| +nonshared-trigd.c
 | ||||
| +
 | ||||
| +nonshared_intrinsics_f90_SRC = \
 | ||||
| +nonshared-random_init.f90
 | ||||
| +
 | ||||
| +libgfortran_nonshared80_la_SOURCES = \
 | ||||
| +$(nonshared_runtime_C_SRC) \
 | ||||
| +$(nonshared_generated_C_SRC) \
 | ||||
| +$(nonshared_intrinsics_C_SRC) \
 | ||||
| +$(nonshared_intrinsics_f90_SRC) \
 | ||||
| +$(srcdir)/ieee/nonshared-ieee_arithmetic.c \
 | ||||
| +$(srcdir)/ieee/nonshared-ieee_exceptions.c \
 | ||||
| +$(srcdir)/io/nonshared-transfer.c \
 | ||||
| +$(srcdir)/runtime/nonshared-error.c
 | ||||
| +
 | ||||
| +libgfortran_nonshared110_la_SOURCES = \
 | ||||
| +$(srcdir)/ieee/nonshared-ieee_exceptions.c
 | ||||
| +
 | ||||
|  I_M4_DEPS = m4/iparm.m4 m4/mtype.m4 | ||||
|  I_M4_DEPS0 = $(I_M4_DEPS) m4/iforeach.m4 | ||||
|  I_M4_DEPS1 = $(I_M4_DEPS) m4/ifunction.m4 | ||||
| @@ -1781,6 +1875,17 @@ clean-cafexeclibLTLIBRARIES:
 | ||||
|  	  rm -f $${locs}; \ | ||||
|  	} | ||||
|   | ||||
| +clean-noinstLTLIBRARIES:
 | ||||
| +	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
 | ||||
| +	@list='$(noinst_LTLIBRARIES)'; \
 | ||||
| +	locs=`for p in $$list; do echo $$p; done | \
 | ||||
| +	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
 | ||||
| +	      sort -u`; \
 | ||||
| +	test -z "$$locs" || { \
 | ||||
| +	  echo rm -f $${locs}; \
 | ||||
| +	  rm -f $${locs}; \
 | ||||
| +	}
 | ||||
| +
 | ||||
|  install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) | ||||
|  	@$(NORMAL_INSTALL) | ||||
|  	@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ | ||||
| @@ -1822,6 +1927,12 @@ libcaf_single.la: $(libcaf_single_la_OBJ
 | ||||
|  libgfortran.la: $(libgfortran_la_OBJECTS) $(libgfortran_la_DEPENDENCIES) $(EXTRA_libgfortran_la_DEPENDENCIES)  | ||||
|  	$(AM_V_GEN)$(libgfortran_la_LINK) -rpath $(toolexeclibdir) $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) $(LIBS) | ||||
|   | ||||
| +libgfortran_nonshared110.la: $(libgfortran_nonshared110_la_OBJECTS) $(libgfortran_nonshared110_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared110_la_DEPENDENCIES) 
 | ||||
| +	$(AM_V_CCLD)$(LINK)  $(libgfortran_nonshared110_la_OBJECTS) $(libgfortran_nonshared110_la_LIBADD) $(LIBS)
 | ||||
| +
 | ||||
| +libgfortran_nonshared80.la: $(libgfortran_nonshared80_la_OBJECTS) $(libgfortran_nonshared80_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared80_la_DEPENDENCIES) 
 | ||||
| +	$(AM_V_FCLD)$(FCLINK)  $(libgfortran_nonshared80_la_OBJECTS) $(libgfortran_nonshared80_la_LIBADD) $(LIBS)
 | ||||
| +
 | ||||
|  mostlyclean-compile: | ||||
|  	-rm -f *.$(OBJEXT) | ||||
|   | ||||
| @@ -2273,6 +2384,45 @@ distclean-compile:
 | ||||
|  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minval_r8.Plo@am__quote@ | ||||
|  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_alloc.Plo@am__quote@ | ||||
|  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mvbits.Plo@am__quote@ | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ISO_Fortran_binding.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-error.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c10.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c16.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c8.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i1.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i16.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i2.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i8.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r10.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r16.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r8.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_s1.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_s4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c10.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c16.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c8.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i1.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i16.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i2.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i8.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r10.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r16.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r8.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_s1.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_s4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc2_s1.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc2_s4.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ieee_arithmetic.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ieee_exceptions.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-is_contiguous.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transfer.Plo@am__quote@
 | ||||
| +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-trigd.Plo@am__quote@
 | ||||
|  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r10.Plo@am__quote@ | ||||
|  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r16.Plo@am__quote@ | ||||
|  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r17.Plo@am__quote@ | ||||
| @@ -7317,6 +7467,34 @@ ieee_helper.lo: ieee/ieee_helper.c
 | ||||
|  @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
|  @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee_helper.lo `test -f 'ieee/ieee_helper.c' || echo '$(srcdir)/'`ieee/ieee_helper.c | ||||
|   | ||||
| +nonshared-ieee_exceptions.lo: $(srcdir)/ieee/nonshared-ieee_exceptions.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-ieee_exceptions.lo -MD -MP -MF $(DEPDIR)/nonshared-ieee_exceptions.Tpo -c -o nonshared-ieee_exceptions.lo `test -f '$(srcdir)/ieee/nonshared-ieee_exceptions.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_exceptions.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-ieee_exceptions.Tpo $(DEPDIR)/nonshared-ieee_exceptions.Plo
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/ieee/nonshared-ieee_exceptions.c' object='nonshared-ieee_exceptions.lo' libtool=yes @AMDEPBACKSLASH@
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | ||||
| +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-ieee_exceptions.lo `test -f '$(srcdir)/ieee/nonshared-ieee_exceptions.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_exceptions.c
 | ||||
| +
 | ||||
| +nonshared-ieee_arithmetic.lo: $(srcdir)/ieee/nonshared-ieee_arithmetic.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-ieee_arithmetic.lo -MD -MP -MF $(DEPDIR)/nonshared-ieee_arithmetic.Tpo -c -o nonshared-ieee_arithmetic.lo `test -f '$(srcdir)/ieee/nonshared-ieee_arithmetic.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_arithmetic.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-ieee_arithmetic.Tpo $(DEPDIR)/nonshared-ieee_arithmetic.Plo
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/ieee/nonshared-ieee_arithmetic.c' object='nonshared-ieee_arithmetic.lo' libtool=yes @AMDEPBACKSLASH@
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | ||||
| +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-ieee_arithmetic.lo `test -f '$(srcdir)/ieee/nonshared-ieee_arithmetic.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_arithmetic.c
 | ||||
| +
 | ||||
| +nonshared-transfer.lo: $(srcdir)/io/nonshared-transfer.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-transfer.lo -MD -MP -MF $(DEPDIR)/nonshared-transfer.Tpo -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-transfer.Tpo $(DEPDIR)/nonshared-transfer.Plo
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/io/nonshared-transfer.c' object='nonshared-transfer.lo' libtool=yes @AMDEPBACKSLASH@
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | ||||
| +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c
 | ||||
| +
 | ||||
| +nonshared-error.lo: $(srcdir)/runtime/nonshared-error.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-error.lo -MD -MP -MF $(DEPDIR)/nonshared-error.Tpo -c -o nonshared-error.lo `test -f '$(srcdir)/runtime/nonshared-error.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-error.c
 | ||||
| +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-error.Tpo $(DEPDIR)/nonshared-error.Plo
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/runtime/nonshared-error.c' object='nonshared-error.lo' libtool=yes @AMDEPBACKSLASH@
 | ||||
| +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | ||||
| +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-error.lo `test -f '$(srcdir)/runtime/nonshared-error.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-error.c
 | ||||
| +
 | ||||
|  .f90.o: | ||||
|  	$(AM_V_FC)$(FCCOMPILE) -c -o $@ $< | ||||
|   | ||||
| @@ -7511,7 +7689,8 @@ maintainer-clean-generic:
 | ||||
|  clean: clean-am | ||||
|   | ||||
|  clean-am: clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \ | ||||
| -	clean-local clean-toolexeclibLTLIBRARIES mostlyclean-am
 | ||||
| +	clean-local clean-noinstLTLIBRARIES \
 | ||||
| +	clean-toolexeclibLTLIBRARIES mostlyclean-am
 | ||||
|   | ||||
|  distclean: distclean-am | ||||
|  	-rm -f $(am__CONFIG_DISTCLEAN_FILES) | ||||
| @@ -7591,14 +7770,15 @@ uninstall-am: uninstall-cafexeclibLTLIBR
 | ||||
|  .PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \ | ||||
|  	check-am clean clean-cafexeclibLTLIBRARIES clean-cscope \ | ||||
|  	clean-generic clean-libtool clean-local \ | ||||
| -	clean-toolexeclibLTLIBRARIES cscope cscopelist-am ctags \
 | ||||
| -	ctags-am distclean distclean-compile distclean-generic \
 | ||||
| -	distclean-hdr distclean-libtool distclean-local distclean-tags \
 | ||||
| -	dvi dvi-am html html-am info info-am install install-am \
 | ||||
| -	install-cafexeclibLTLIBRARIES install-data install-data-am \
 | ||||
| -	install-dvi install-dvi-am install-exec install-exec-am \
 | ||||
| -	install-exec-local install-gfor_cHEADERS install-html \
 | ||||
| -	install-html-am install-info install-info-am install-man \
 | ||||
| +	clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES cscope \
 | ||||
| +	cscopelist-am ctags ctags-am distclean distclean-compile \
 | ||||
| +	distclean-generic distclean-hdr distclean-libtool \
 | ||||
| +	distclean-local distclean-tags dvi dvi-am html html-am info \
 | ||||
| +	info-am install install-am install-cafexeclibLTLIBRARIES \
 | ||||
| +	install-data install-data-am install-dvi install-dvi-am \
 | ||||
| +	install-exec install-exec-am install-exec-local \
 | ||||
| +	install-gfor_cHEADERS install-html install-html-am \
 | ||||
| +	install-info install-info-am install-man \
 | ||||
|  	install-nodist_fincludeHEADERS install-pdf install-pdf-am \ | ||||
|  	install-ps install-ps-am install-strip install-toolexeclibDATA \ | ||||
|  	install-toolexeclibLTLIBRARIES installcheck installcheck-am \ | ||||
| @@ -7674,6 +7854,38 @@ ieee_arithmetic.mod: ieee_arithmetic.lo
 | ||||
|  @onestep_TRUE@libgfortran_c.lo: $(filter %.c,$(prereq_SRC)) | ||||
|  @onestep_TRUE@	$(LTCOMPILE) -c -o $@ $^ -combine | ||||
|   | ||||
| +$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/generated/%.c
 | ||||
| +	$(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/generated/%.c
 | ||||
| +	$(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/intrinsics/%.c
 | ||||
| +	$(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/intrinsics/%.c
 | ||||
| +	$(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/runtime/%.c
 | ||||
| +	$(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/runtime/%.c
 | ||||
| +	$(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
 | ||||
| +
 | ||||
| +$(patsubst %.f90,%.lo,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.lo: $(srcdir)/intrinsics/%.f90
 | ||||
| +	$(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
 | ||||
| +
 | ||||
| +$(patsubst %.f90,%.o,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
 | ||||
| +nonshared-%.o: $(srcdir)/intrinsics/%.f90
 | ||||
| +	$(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
 | ||||
| +
 | ||||
|  kinds.h: $(srcdir)/mk-kinds-h.sh | ||||
|  	$(SHELL) $(srcdir)/mk-kinds-h.sh '@LIBGOMP_CHECKED_INT_KINDS@' \ | ||||
|  					 '@LIBGOMP_CHECKED_REAL_KINDS@' \ | ||||
| --- libgfortran/ieee/nonshared-ieee_exceptions.c.jj	2023-05-22 12:59:24.852490604 +0200
 | ||||
| +++ libgfortran/ieee/nonshared-ieee_exceptions.c	2023-05-22 15:02:43.023285198 +0200
 | ||||
| @@ -0,0 +1,50 @@
 | ||||
| +/* Helper functions in C for IEEE modules
 | ||||
| +   Copyright (C) 2013-2023 Free Software Foundation, Inc.
 | ||||
| +   Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
 | ||||
| +
 | ||||
| +This file is part of the GNU Fortran runtime library (libgfortran).
 | ||||
| +
 | ||||
| +Libgfortran is free software; you can redistribute it and/or
 | ||||
| +modify it under the terms of the GNU General Public
 | ||||
| +License as published by the Free Software Foundation; either
 | ||||
| +version 3 of the License, or (at your option) any later version.
 | ||||
| +
 | ||||
| +Libgfortran is distributed in the hope that it will be useful,
 | ||||
| +but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| +GNU General Public License for more details.
 | ||||
| +
 | ||||
| +Under Section 7 of GPL version 3, you are granted additional
 | ||||
| +permissions described in the GCC Runtime Library Exception, version
 | ||||
| +3.1, as published by the Free Software Foundation.
 | ||||
| +
 | ||||
| +You should have received a copy of the GNU General Public License and
 | ||||
| +a copy of the GCC Runtime Library Exception along with this program;
 | ||||
| +see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 | ||||
| +<http://www.gnu.org/licenses/>.  */
 | ||||
| +
 | ||||
| +#include "libgfortran.h"
 | ||||
| +
 | ||||
| +#define options ((const options_t) {})
 | ||||
| +
 | ||||
| +#include "fpu-target.h"
 | ||||
| +
 | ||||
| +struct ieee_modes_type {
 | ||||
| +  GFC_INTEGER_4 rounding, underflow, halting;
 | ||||
| +};
 | ||||
| +
 | ||||
| +void
 | ||||
| +__ieee_exceptions_MOD_ieee_get_modes (struct ieee_modes_type *modes)
 | ||||
| +{
 | ||||
| +  modes->rounding = get_fpu_rounding_mode ();
 | ||||
| +  modes->underflow = get_fpu_underflow_mode ();
 | ||||
| +  modes->halting = get_fpu_trap_exceptions ();
 | ||||
| +}
 | ||||
| +
 | ||||
| +void
 | ||||
| +__ieee_exceptions_MOD_ieee_set_modes (struct ieee_modes_type *modes)
 | ||||
| +{
 | ||||
| +  set_fpu_rounding_mode (modes->rounding);
 | ||||
| +  set_fpu_underflow_mode (modes->underflow);
 | ||||
| +  set_fpu_trap_exceptions (modes->halting, ~modes->halting);
 | ||||
| +}
 | ||||
| --- libgfortran/ieee/nonshared-ieee_arithmetic.c.jj	2023-05-22 12:20:32.127390024 +0200
 | ||||
| +++ libgfortran/ieee/nonshared-ieee_arithmetic.c	2023-05-22 12:59:07.790724711 +0200
 | ||||
| @@ -0,0 +1,64 @@
 | ||||
| +/* Helper functions in C for IEEE modules
 | ||||
| +   Copyright (C) 2013-2023 Free Software Foundation, Inc.
 | ||||
| +   Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
 | ||||
| +
 | ||||
| +This file is part of the GNU Fortran runtime library (libgfortran).
 | ||||
| +
 | ||||
| +Libgfortran is free software; you can redistribute it and/or
 | ||||
| +modify it under the terms of the GNU General Public
 | ||||
| +License as published by the Free Software Foundation; either
 | ||||
| +version 3 of the License, or (at your option) any later version.
 | ||||
| +
 | ||||
| +Libgfortran is distributed in the hope that it will be useful,
 | ||||
| +but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| +GNU General Public License for more details.
 | ||||
| +
 | ||||
| +Under Section 7 of GPL version 3, you are granted additional
 | ||||
| +permissions described in the GCC Runtime Library Exception, version
 | ||||
| +3.1, as published by the Free Software Foundation.
 | ||||
| +
 | ||||
| +You should have received a copy of the GNU General Public License and
 | ||||
| +a copy of the GCC Runtime Library Exception along with this program;
 | ||||
| +see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 | ||||
| +<http://www.gnu.org/licenses/>.  */
 | ||||
| +
 | ||||
| +#include "libgfortran.h"
 | ||||
| +
 | ||||
| +GFC_LOGICAL_4
 | ||||
| +__ieee_arithmetic_MOD_ieee_support_subnormal_4 (gfc_array_r4 *arg)
 | ||||
| +{
 | ||||
| +  (void) arg;
 | ||||
| +  return 1;
 | ||||
| +}
 | ||||
| +
 | ||||
| +GFC_LOGICAL_4
 | ||||
| +__ieee_arithmetic_MOD_ieee_support_subnormal_8 (gfc_array_r8 *arg)
 | ||||
| +{
 | ||||
| +  (void) arg;
 | ||||
| +  return 1;
 | ||||
| +}
 | ||||
| +
 | ||||
| +#ifdef HAVE_GFC_REAL_10
 | ||||
| +GFC_LOGICAL_4
 | ||||
| +__ieee_arithmetic_MOD_ieee_support_subnormal_10 (gfc_array_r10 *arg)
 | ||||
| +{
 | ||||
| +  (void) arg;
 | ||||
| +  return 1;
 | ||||
| +}
 | ||||
| +#endif
 | ||||
| +
 | ||||
| +#ifdef HAVE_GFC_REAL_16
 | ||||
| +GFC_LOGICAL_4
 | ||||
| +__ieee_arithmetic_MOD_ieee_support_subnormal_16 (gfc_array_r16 *arg)
 | ||||
| +{
 | ||||
| +  (void) arg;
 | ||||
| +  return 1;
 | ||||
| +}
 | ||||
| +#endif
 | ||||
| +
 | ||||
| +GFC_LOGICAL_4
 | ||||
| +__ieee_arithmetic_MOD_ieee_support_subnormal_noarg (void)
 | ||||
| +{
 | ||||
| +  return 1;
 | ||||
| +}
 | ||||
| --- libgfortran/libgfortran.h.jj	2023-04-17 13:48:20.204019218 +0200
 | ||||
| +++ libgfortran/libgfortran.h	2023-05-22 12:59:07.795724642 +0200
 | ||||
| @@ -216,7 +216,7 @@ extern int __mingw_snprintf (char *, siz
 | ||||
|  # define internal_proto(x)	sym_rename(x, IPREFIX(x)) | ||||
|  #endif | ||||
|   | ||||
| -#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS)
 | ||||
| +#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS) && !defined(LIBGFORTRAN_NONSHARED)
 | ||||
|  # define export_proto(x)	sym_rename(x, PREFIX(x)) | ||||
|  # define export_proto_np(x)	extern char swallow_semicolon | ||||
|  # define iexport_proto(x)	internal_proto(x) | ||||
| @@ -291,6 +291,10 @@ typedef GFC_UINTEGER_4 gfc_char4_t;
 | ||||
|     simply equal to the kind parameter itself.  */ | ||||
|  #define GFC_SIZE_OF_CHAR_KIND(kind) (kind) | ||||
|   | ||||
| +#ifdef LIBGFORTRAN_NONSHARED
 | ||||
| +#define big_endian (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
 | ||||
| +#endif
 | ||||
| +
 | ||||
|  #define GFOR_POINTER_TO_L1(p, kind) \ | ||||
|    ((__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ? 1: 0) * (kind - 1) + (GFC_LOGICAL_1 *)(p)) | ||||
|   | ||||
| @@ -2024,4 +2028,63 @@ extern int __snprintfieee128 (char *, si
 | ||||
|  #define HAVE_GFC_UINTEGER_1 1 | ||||
|  #define HAVE_GFC_UINTEGER_4 1 | ||||
|   | ||||
| +#ifdef LIBGFORTRAN_NONSHARED
 | ||||
| +#include <stdlib.h>
 | ||||
| +#include <string.h>              
 | ||||
| +#include <errno.h>
 | ||||
| +
 | ||||
| +#define internal_malloc_size nonshared_internal_malloc_size
 | ||||
| +#define xmalloc nonshared_internal_xmalloc
 | ||||
| +#define xmallocarray nonshared_internal_xmallocarray
 | ||||
| +#define reshape_packed nonshared_reshape_packed
 | ||||
| +static inline __attribute__((__always_inline__, __unused__))
 | ||||
| +void *
 | ||||
| +internal_malloc_size (size_t size)
 | ||||
| +{
 | ||||
| +  void *p;
 | ||||
| +
 | ||||
| +  if (size == 0)
 | ||||
| +    return NULL;
 | ||||
| +
 | ||||
| +  p = (void *) malloc (size);
 | ||||
| +  if (p == NULL)
 | ||||
| +    os_error ("Memory allocation failed");
 | ||||
| +  return p;
 | ||||
| +}
 | ||||
| +
 | ||||
| +static inline __attribute__((__always_inline__, __unused__))
 | ||||
| +void *
 | ||||
| +xmalloc (size_t size)
 | ||||
| +{
 | ||||
| +  return internal_malloc_size (size ? size : 1);
 | ||||
| +}
 | ||||
| +
 | ||||
| +static inline __attribute__((__always_inline__, __unused__))
 | ||||
| +void *
 | ||||
| +xmallocarray (size_t nmemb, size_t size)
 | ||||
| +{
 | ||||
| +  if (!nmemb || !size)
 | ||||
| +    size = nmemb = 1;
 | ||||
| +  else if (__builtin_expect ((nmemb | size)
 | ||||
| +			     >= (((size_t) 1) << (__CHAR_BIT__
 | ||||
| +						  * sizeof (size_t) / 2)), 0)
 | ||||
| +	   && nmemb > __SIZE_MAX__ / size)
 | ||||
| +    {
 | ||||
| +      errno = ENOMEM;
 | ||||
| +      os_error ("Integer overflow in xmallocarray");
 | ||||
| +    }
 | ||||
| +
 | ||||
| +  return internal_malloc_size (nmemb * size);
 | ||||
| +}
 | ||||
| +
 | ||||
| +static inline __attribute__((__always_inline__, __unused__))
 | ||||
| +#include "intrinsics/reshape_packed.c"
 | ||||
| +
 | ||||
| +struct no_bounds_check { int bounds_check; };
 | ||||
| +#define compile_options ((struct no_bounds_check) { .bounds_check = 0 })
 | ||||
| +
 | ||||
| +#define internal_error(x, y...) runtime_error (y)
 | ||||
| +
 | ||||
| +#endif
 | ||||
| +
 | ||||
|  #endif  /* LIBGFOR_H  */ | ||||
| --- libgfortran/runtime/nonshared-error.c.jj	2023-05-22 12:20:32.211388875 +0200
 | ||||
| +++ libgfortran/runtime/nonshared-error.c	2023-05-22 12:59:07.807724478 +0200
 | ||||
| @@ -0,0 +1,56 @@
 | ||||
| +/* Copyright (C) 2020-2023 Free Software Foundation, Inc.
 | ||||
| +
 | ||||
| +This file is part of the GNU Fortran runtime library (libgfortran).
 | ||||
| +
 | ||||
| +Libgfortran is free software; you can redistribute it and/or modify
 | ||||
| +it under the terms of the GNU General Public License as published by
 | ||||
| +the Free Software Foundation; either version 3, or (at your option)
 | ||||
| +any later version.
 | ||||
| +
 | ||||
| +Libgfortran is distributed in the hope that it will be useful,
 | ||||
| +but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| +GNU General Public License for more details.
 | ||||
| +
 | ||||
| +Under Section 7 of GPL version 3, you are granted additional
 | ||||
| +permissions described in the GCC Runtime Library Exception, version
 | ||||
| +3.1, as published by the Free Software Foundation.
 | ||||
| +
 | ||||
| +You should have received a copy of the GNU General Public License and
 | ||||
| +a copy of the GCC Runtime Library Exception along with this program;
 | ||||
| +see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 | ||||
| +<http://www.gnu.org/licenses/>.  */
 | ||||
| +
 | ||||
| +
 | ||||
| +#define LIBGFORTRAN_NONSHARED
 | ||||
| +#include "libgfortran.h"
 | ||||
| +#include "io.h"
 | ||||
| +#include "async.h"
 | ||||
| +
 | ||||
| +#include <string.h>
 | ||||
| +#include <stdio.h>
 | ||||
| +
 | ||||
| +/* Improved version of os_error with a printf style format string and
 | ||||
| +   a locus.  */
 | ||||
| +
 | ||||
| +void
 | ||||
| +os_error_at (const char *where, const char *message, ...)
 | ||||
| +{
 | ||||
| +  char buf[4096];
 | ||||
| +  size_t len = strlen (where);
 | ||||
| +  int written;
 | ||||
| +  va_list ap;
 | ||||
| +
 | ||||
| +  if (len >= 2048)
 | ||||
| +    os_error ("Unknown error");
 | ||||
| +  memcpy (buf, where, len);
 | ||||
| +  memcpy (buf + len, ": ", 2);
 | ||||
| +  va_start (ap, message);
 | ||||
| +  written = vsnprintf (buf + len + 2, 4095 - len - 2, message, ap);
 | ||||
| +  va_end (ap);
 | ||||
| +  if (written < 0)
 | ||||
| +    written = 0;
 | ||||
| +  buf[len + 2 + written] = '\0';
 | ||||
| +  os_error (buf);
 | ||||
| +}
 | ||||
| +iexport(os_error_at);
 | ||||
| --- libgfortran/io/nonshared-transfer.c.jj	2023-05-22 12:20:32.223388711 +0200
 | ||||
| +++ libgfortran/io/nonshared-transfer.c	2023-05-22 12:59:07.816724354 +0200
 | ||||
| @@ -0,0 +1,42 @@
 | ||||
| +/* Copyright (C) 2002-2023 Free Software Foundation, Inc.
 | ||||
| +   Contributed by Andy Vaught
 | ||||
| +   Namelist transfer functions contributed by Paul Thomas
 | ||||
| +   F2003 I/O support contributed by Jerry DeLisle
 | ||||
| +
 | ||||
| +This file is part of the GNU Fortran runtime library (libgfortran).
 | ||||
| +
 | ||||
| +Libgfortran is free software; you can redistribute it and/or modify
 | ||||
| +it under the terms of the GNU General Public License as published by
 | ||||
| +the Free Software Foundation; either version 3, or (at your option)
 | ||||
| +any later version.
 | ||||
| +
 | ||||
| +Libgfortran is distributed in the hope that it will be useful,
 | ||||
| +but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| +GNU General Public License for more details.
 | ||||
| +
 | ||||
| +Under Section 7 of GPL version 3, you are granted additional
 | ||||
| +permissions described in the GCC Runtime Library Exception, version
 | ||||
| +3.1, as published by the Free Software Foundation.
 | ||||
| +
 | ||||
| +You should have received a copy of the GNU General Public License and
 | ||||
| +a copy of the GCC Runtime Library Exception along with this program;
 | ||||
| +see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 | ||||
| +<http://www.gnu.org/licenses/>.  */
 | ||||
| +
 | ||||
| +
 | ||||
| +/* transfer.c -- Top level handling of data transfer statements.  */
 | ||||
| +
 | ||||
| +#include "io.h"
 | ||||
| +#include "fbuf.h"
 | ||||
| +#include "format.h"
 | ||||
| +#include "unix.h"
 | ||||
| +#include "async.h"
 | ||||
| +#include <string.h>
 | ||||
| +#include <errno.h>
 | ||||
| +
 | ||||
| +void
 | ||||
| +st_wait_async (st_parameter_wait *wtp)
 | ||||
| +{
 | ||||
| +  (void) wtp;
 | ||||
| +}
 | ||||
							
								
								
									
										17
									
								
								SOURCES/gcc13-libgomp-omp_h-multilib.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								SOURCES/gcc13-libgomp-omp_h-multilib.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| 2008-06-09  Jakub Jelinek  <jakub@redhat.com> | ||||
| 
 | ||||
| 	* 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 | ||||
|   | ||||
							
								
								
									
										12903
									
								
								SOURCES/gcc13-libstdc++-compat.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12903
									
								
								SOURCES/gcc13-libstdc++-compat.patch
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										24
									
								
								SOURCES/gcc13-libstdc++-docs.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								SOURCES/gcc13-libstdc++-docs.patch
									
									
									
									
									
										Normal file
									
								
							| @ -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 @@
 | ||||
|        <a class="link" href="https://www.fsf.org" target="_top">FSF | ||||
|        </a> | ||||
|      </p><p> | ||||
| +      Release 13.1.1
 | ||||
| +    </p><p>
 | ||||
|        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. | ||||
|  </p><p> | ||||
| -  The API documentation, rendered into HTML, can be viewed online
 | ||||
| +  The API documentation, rendered into HTML, can be viewed locally
 | ||||
| +  <a class="link" href="api/index.html" target="_top">for the 13.1.1 release</a>,
 | ||||
| +  online
 | ||||
|    <a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a> | ||||
|    and | ||||
|    <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="_top"> | ||||
							
								
								
									
										27
									
								
								SOURCES/gcc13-libtool-no-rpath.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								SOURCES/gcc13-libtool-no-rpath.patch
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										37
									
								
								SOURCES/gcc13-no-add-needed.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								SOURCES/gcc13-no-add-needed.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| 2010-02-08  Roland McGrath  <roland@redhat.com> | ||||
| 
 | ||||
| 	* 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 \ | ||||
							
								
								
									
										21
									
								
								SOURCES/gcc13-rh1574936.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								SOURCES/gcc13-rh1574936.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| 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  <fweimer@redhat.com> | ||||
| 
 | ||||
| 	* config/t-linux (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add | ||||
| 	-Wa,--generate-missing-build-notes=yes. | ||||
| 
 | ||||
| --- libgcc/config/t-linux	2022-12-15 19:25:20.581394950 +0100
 | ||||
| +++ libgcc/config/t-linux	2023-03-21 22:00:37.054478562 +0100
 | ||||
| @@ -1,3 +1,6 @@
 | ||||
|  # Override t-slibgcc-elf-ver to export some libgcc symbols with | ||||
|  # the symbol versions that glibc used. | ||||
|  SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver | ||||
| +
 | ||||
| +LIBGCC2_CFLAGS += -Wa,--generate-missing-build-notes=yes
 | ||||
| +CRTSTUFF_CFLAGS += -Wa,--generate-missing-build-notes=yes
 | ||||
							
								
								
									
										40
									
								
								SOURCES/gcc13-sparc-config-detection.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								SOURCES/gcc13-sparc-config-detection.patch
									
									
									
									
									
										Normal file
									
								
							| @ -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
 | ||||
| @@ -3330,7 +3330,7 @@ sparc-*-rtems*)
 | ||||
|  	tm_file="${tm_file} 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} 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 | ||||
| @@ -3384,7 +3384,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} 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 | ||||
							
								
								
									
										46
									
								
								SOURCES/gcc13-testsuite-no-ssp.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								SOURCES/gcc13-testsuite-no-ssp.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| From b964d2647b0da15543faed5add5044fd79a85c5c Mon Sep 17 00:00:00 2001 | ||||
| From: Marek Polacek <polacek@redhat.com> | ||||
| Date: Thu, 29 Jun 2023 15:59:29 -0400 | ||||
| Subject: [PATCH] i386: add -fno-stack-protector to two tests | ||||
| 
 | ||||
| These tests fail when the testsuite is executed with -fstack-protector-strong. | ||||
| To avoid this, this patch adds -fno-stack-protector to dg-options. | ||||
| 
 | ||||
| Tested on x86_64-pc-linux-gnu, ok for trunk? | ||||
| 
 | ||||
| gcc/testsuite/ChangeLog: | ||||
| 
 | ||||
| 	* gcc.target/i386/pr104610.c: Use -fno-stack-protector. | ||||
| 	* gcc.target/i386/pr69482-1.c: Likewise. | ||||
| ---
 | ||||
|  gcc/testsuite/gcc.target/i386/pr104610.c  | 2 +- | ||||
|  gcc/testsuite/gcc.target/i386/pr69482-1.c | 2 +- | ||||
|  2 files changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/gcc/testsuite/gcc.target/i386/pr104610.c b/gcc/testsuite/gcc.target/i386/pr104610.c
 | ||||
| index fe39cbe5b8a..5173fc8898c 100644
 | ||||
| --- a/gcc/testsuite/gcc.target/i386/pr104610.c
 | ||||
| +++ b/gcc/testsuite/gcc.target/i386/pr104610.c
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
|  /* { dg-do compile } */ | ||||
| -/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256" } */
 | ||||
| +/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256 -fno-stack-protector" } */
 | ||||
|  /* { dg-final { scan-assembler-times {(?n)vptest.*ymm} 1 } } */ | ||||
|  /* { dg-final { scan-assembler-times {sete} 1 } } */ | ||||
|  /* { dg-final { scan-assembler-not {(?n)je.*L[0-9]} } } */ | ||||
| diff --git a/gcc/testsuite/gcc.target/i386/pr69482-1.c b/gcc/testsuite/gcc.target/i386/pr69482-1.c
 | ||||
| index f192261b104..99bb6ad5a37 100644
 | ||||
| --- a/gcc/testsuite/gcc.target/i386/pr69482-1.c
 | ||||
| +++ b/gcc/testsuite/gcc.target/i386/pr69482-1.c
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
|  /* { dg-do compile } */ | ||||
| -/* { dg-options "-O3" } */
 | ||||
| +/* { dg-options "-O3 -fno-stack-protector" } */
 | ||||
|   | ||||
|  static inline void memset_s(void* s, int n) { | ||||
|    volatile unsigned char * p = s; | ||||
| 
 | ||||
| base-commit: 070a6bf0bdc6761ad77ac97404c98f00a7007d54 | ||||
| -- 
 | ||||
| 2.41.0 | ||||
| 
 | ||||
							
								
								
									
										131
									
								
								SOURCES/gcc13-testsuite-p10.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								SOURCES/gcc13-testsuite-p10.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,131 @@ | ||||
| commit 38dc1b9145d3b27317a03ace3ab21fb76f6c428a | ||||
| Author: Carl Love <cel@us.ibm.com> | ||||
| Date:   Fri Mar 10 18:16:52 2023 -0500 | ||||
| 
 | ||||
|     rs6000: Fix test int_128bit-runnable.c instruction counts | ||||
|      | ||||
|     The test reports two failures on Power 10LE: | ||||
|      | ||||
|     FAIL: .../int_128bit-runnable.c scan-assembler-times \\\\mvdivsq\\\\M 1 | ||||
|     FAIL: .../int_128bit-runnable.c scan-assembler-times \\\\mvextsd2q\\\\M 6 | ||||
|      | ||||
|     The current counts are : | ||||
|      | ||||
|       vdivsq   3 | ||||
|       vextsd2q 4 | ||||
|      | ||||
|     The counts changed with commit: | ||||
|      | ||||
|       commit 852b11da11a181df517c0348df044354ff0656d6 | ||||
|       Author: Michael Meissner <meissner@linux.ibm.com> | ||||
|       Date:   Wed Jul 7 21:55:38 2021 -0400 | ||||
|      | ||||
|           Generate 128-bit int divide/modulus on power10. | ||||
|      | ||||
|           This patch adds support for the VDIVSQ, VDIVUQ, VMODSQ, and VMODUQ | ||||
|           instructions to do 128-bit arithmetic. | ||||
|      | ||||
|           2021-07-07  Michael Meissner  <meissner@linux.ibm.com> | ||||
|      | ||||
|     The code generation changed significantly.  There are two places where | ||||
|     the vextsd2q is "replaced" by a vdivsq instruction thus increasing the | ||||
|     vdivsq count from 1 to 3.  The first case is: | ||||
|      | ||||
|     expected_result = vec_arg1[0]/4; | ||||
|         10000af8:   60 01 df e8     ld      r6,352(r31) | ||||
|         10000afc:   68 01 ff e8     ld      r7,360(r31) | ||||
|         10000b00:   76 fe e9 7c     sradi   r9,r7,63 | ||||
|         10000b04:   67 4b 00 7c     mtvsrdd vs32,0,r9 | ||||
|         10000b08:   02 06 1b 10     vextsd2q v0,v0         <---- | ||||
|         10000b0c:   03 00 40 39     li      r10,3 | ||||
|         10000b10:   00 00 60 39     li      r11,0 | ||||
|         10000b14:   67 00 09 7c     mfvrd   r9,v0 | ||||
|         10000b18:   67 02 08 7c     mfvsrld r8,vs32 | ||||
|         10000b1c:   38 50 08 7d     and     r8,r8,r10 | ||||
|         10000b20:   38 58 29 7d     and     r9,r9,r11 | ||||
|         10000b24:   78 4b 2b 7d     mr      r11,r9 | ||||
|         10000b28:   78 43 0a 7d     mr      r10,r8 | ||||
|         10000b2c:   14 30 4a 7f     addc    r26,r10,r6 | ||||
|         10000b30:   14 39 6b 7f     adde    r27,r11,r7 | ||||
|         10000b34:   46 f0 69 7b     sldi    r9,r27,62 | ||||
|         10000b38:   82 f0 58 7b     srdi    r24,r26,2 | ||||
|         10000b3c:   78 c3 38 7d     or      r24,r9,r24 | ||||
|         10000b40:   74 16 79 7f     sradi   r25,r27,2 | ||||
|         10000b44:   30 00 1f fb     std     r24,48(r31) | ||||
|         10000b48:   38 00 3f fb     std     r25,56(r31) | ||||
|      | ||||
|     To: | ||||
|      | ||||
|        expected_result = vec_arg1[0]/4; | ||||
|         10000af8:   69 01 1f f4     lxv     vs32,352(r31) | ||||
|         10000afc:   04 00 20 39     li      r9,4 | ||||
|         10000b00:   00 00 40 39     li      r10,0 | ||||
|         10000b04:   67 4b 2a 7c     mtvsrdd vs33,r10,r9 | ||||
|         10000b08:   0b 09 00 10     vdivsq  v0,v0,v1       <---- | ||||
|         10000b0c:   3d 00 1f f4     stxv    vs32,48(r31) | ||||
|      | ||||
|     The second case were a vexts2q instruction is replaced with vdivsq: | ||||
|      | ||||
|     From: | ||||
|      | ||||
|       expected_result = arg1/16; | ||||
|         10000c24:   40 00 df e8     ld      r6,64(r31) | ||||
|         10000c28:   48 00 ff e8     ld      r7,72(r31) | ||||
|         10000c2c:   76 fe e9 7c     sradi   r9,r7,63 | ||||
|         10000c30:   67 4b 00 7c     mtvsrdd vs32,0,r9 | ||||
|         10000c34:   02 06 1b 10     vextsd2q v0,v0        <--- | ||||
|         10000c38:   0f 00 40 39     li      r10,15 | ||||
|         10000c3c:   00 00 60 39     li      r11,0 | ||||
|         10000c40:   67 00 09 7c     mfvrd   r9,v0 | ||||
|         10000c44:   67 02 08 7c     mfvsrld r8,vs32 | ||||
|         10000c48:   38 50 08 7d     and     r8,r8,r10 | ||||
|         10000c4c:   38 58 29 7d     and     r9,r9,r11 | ||||
|         10000c50:   78 4b 2b 7d     mr      r11,r9 | ||||
|         10000c54:   78 43 0a 7d     mr      r10,r8 | ||||
|         10000c58:   14 30 ca 7e     addc    r22,r10,r6 | ||||
|         10000c5c:   14 39 eb 7e     adde    r23,r11,r7 | ||||
|         10000c60:   c6 e0 e9 7a     sldi    r9,r23,60 | ||||
|         10000c64:   02 e1 d4 7a     srdi    r20,r22,4 | ||||
|         10000c68:   78 a3 34 7d     or      r20,r9,r20 | ||||
|         10000c6c:   74 26 f5 7e     sradi   r21,r23,4 | ||||
|         10000c70:   30 00 9f fa     std     r20,48(r31) | ||||
|         10000c74:   38 00 bf fa     std     r21,56(r31) | ||||
|      | ||||
|     To: | ||||
|      | ||||
|       expected_result = arg1/16; | ||||
|         10000be8:   49 00 1f f4     lxv     vs32,64(r31) | ||||
|         10000bec:   10 00 20 39     li      r9,16 | ||||
|         10000bf0:   00 00 40 39     li      r10,0 | ||||
|         10000bf4:   67 4b 2a 7c     mtvsrdd vs33,r10,r9 | ||||
|         10000bf8:   0b 09 00 10     vdivsq  v0,v0,v1       <--- | ||||
|         10000bfc:   3d 00 1f f4     stxv    vs32,48(r31) | ||||
|      | ||||
|     The patch has been tested on Power10LE with no regressions. | ||||
|      | ||||
|     gcc/testsuite/ | ||||
|             * gcc.target/powerpc/int_128bit-runnable.c: Update expected | ||||
|             instruction counts. | ||||
| 
 | ||||
| diff --git a/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c b/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c
 | ||||
| index 68217c62325..756142d1bc6 100644
 | ||||
| --- a/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c
 | ||||
| +++ b/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c
 | ||||
| @@ -4,7 +4,7 @@
 | ||||
|   | ||||
|  /* Check that the expected 128-bit instructions are generated if the processor | ||||
|     supports the 128-bit integer instructions. */ | ||||
| -/* { dg-final { scan-assembler-times {\mvextsd2q\M} 6 } } */
 | ||||
| +/* { dg-final { scan-assembler-times {\mvextsd2q\M} 4 } } */
 | ||||
|  /* { dg-final { scan-assembler-times {\mvslq\M} 2 } } */ | ||||
|  /* { dg-final { scan-assembler-times {\mvsrq\M} 2 } } */ | ||||
|  /* { dg-final { scan-assembler-times {\mvsraq\M} 2 } } */ | ||||
| @@ -18,7 +18,7 @@
 | ||||
|  /* { dg-final { scan-assembler-times {\mvmulesd\M} 1 } } */ | ||||
|  /* { dg-final { scan-assembler-times {\mvmulosd\M} 1 } } */ | ||||
|  /* { dg-final { scan-assembler-times {\mvmulld\M} 1 } } */ | ||||
| -/* { dg-final { scan-assembler-times {\mvdivsq\M} 1 } } */
 | ||||
| +/* { dg-final { scan-assembler-times {\mvdivsq\M} 3 } } */
 | ||||
|  /* { dg-final { scan-assembler-times {\mvdivuq\M} 1 } } */ | ||||
|  /* { dg-final { scan-assembler-times {\mvdivesq\M} 1 } } */ | ||||
|  /* { dg-final { scan-assembler-times {\mvdiveuq\M} 1 } } */ | ||||
							
								
								
									
										94
									
								
								SOURCES/gcc13-testsuite-plugin.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								SOURCES/gcc13-testsuite-plugin.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,94 @@ | ||||
| From 2ef902063590ebd7e8b8b8b4d708f6c7dc62a81d Mon Sep 17 00:00:00 2001 | ||||
| From: Marek Polacek <polacek@redhat.com> | ||||
| Date: Thu, 29 Jun 2023 14:57:48 -0400 | ||||
| Subject: [PATCH] testsuite: Use -fno-report-bug in gcc.dg/plugin/ | ||||
| 
 | ||||
| Certain downstream compilers (for example, in Fedora) default to | ||||
| -freport-bug.  The extra output breaks the following tests.  We can use
 | ||||
| -fno-report-bug to fix that.  Patch verified with:
 | ||||
| 
 | ||||
| $ make check RUNTESTFLAGS='--target_board=unix\{,-freport-bug\} plugin.exp' | ||||
| 
 | ||||
| Tested x86_64-pc-linux-gnu, ok for trunk/13? | ||||
| 
 | ||||
| gcc/testsuite/ChangeLog: | ||||
| 
 | ||||
| 	* gcc.dg/plugin/crash-test-ice-sarif.c: Use -fno-report-bug.  Adjust | ||||
| 	scan-sarif-file. | ||||
| 	* gcc.dg/plugin/crash-test-ice-stderr.c: Use -fno-report-bug. | ||||
| 	* gcc.dg/plugin/crash-test-write-though-null-sarif.c: Use | ||||
| 	-fno-report-bug.  Adjust scan-sarif-file. | ||||
| 	* gcc.dg/plugin/crash-test-write-though-null-stderr.c: Use | ||||
| 	-fno-report-bug. | ||||
| ---
 | ||||
|  gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c             | 3 ++- | ||||
|  gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c            | 1 + | ||||
|  .../gcc.dg/plugin/crash-test-write-though-null-sarif.c         | 3 ++- | ||||
|  .../gcc.dg/plugin/crash-test-write-though-null-stderr.c        | 1 + | ||||
|  4 files changed, 6 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
 | ||||
| index 3b773a9a84c..84a4347a17e 100644
 | ||||
| --- a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
 | ||||
| +++ b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
 | ||||
| @@ -1,5 +1,6 @@
 | ||||
|  /* { dg-do compile } */ | ||||
|  /* { dg-options "-fdiagnostics-format=sarif-file" } */ | ||||
| +/* { dg-additional-options "-fno-report-bug" } */
 | ||||
|   | ||||
|  extern void inject_ice (void); | ||||
|   | ||||
| @@ -56,7 +57,7 @@ void test_inject_ice (void)
 | ||||
|               { dg-final { scan-sarif-file "\"contextRegion\": " } } | ||||
|               { dg-final { scan-sarif-file "\"artifactLocation\": " } } | ||||
|               { dg-final { scan-sarif-file "\"region\": " } } | ||||
| -               { dg-final { scan-sarif-file "\"startLine\": 8" } }
 | ||||
| +               { dg-final { scan-sarif-file "\"startLine\": 9" } }
 | ||||
|                 { dg-final { scan-sarif-file "\"startColumn\": 3" } } | ||||
|                 { dg-final { scan-sarif-file "\"endColumn\": 16" } } | ||||
|           { dg-final { scan-sarif-file "\"message\": " } } | ||||
| diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
 | ||||
| index cee701b135c..0064d3bc447 100644
 | ||||
| --- a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
 | ||||
| +++ b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
 | ||||
| @@ -1,4 +1,5 @@
 | ||||
|  /* { dg-do compile } */ | ||||
| +/* { dg-additional-options "-fno-report-bug" } */
 | ||||
|   | ||||
|  extern void inject_ice (void); | ||||
|   | ||||
| diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
 | ||||
| index 57caa20155f..83b38d2ffb5 100644
 | ||||
| --- a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
 | ||||
| +++ b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
 | ||||
| @@ -1,5 +1,6 @@
 | ||||
|  /* { dg-do compile } */ | ||||
|  /* { dg-options "-fdiagnostics-format=sarif-file" } */ | ||||
| +/* { dg-additional-options "-fno-report-bug" } */
 | ||||
|   | ||||
|  extern void inject_write_through_null (void); | ||||
|   | ||||
| @@ -56,7 +57,7 @@ void test_inject_write_through_null (void)
 | ||||
|               { dg-final { scan-sarif-file "\"contextRegion\": " } } | ||||
|               { dg-final { scan-sarif-file "\"artifactLocation\": " } } | ||||
|               { dg-final { scan-sarif-file "\"region\": " } } | ||||
| -               { dg-final { scan-sarif-file "\"startLine\": 8" } }
 | ||||
| +               { dg-final { scan-sarif-file "\"startLine\": 9" } }
 | ||||
|                 { dg-final { scan-sarif-file "\"startColumn\": 3" } } | ||||
|                 { dg-final { scan-sarif-file "\"endColumn\": 31" } } | ||||
|           { dg-final { scan-sarif-file "\"message\": " } } | ||||
| diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
 | ||||
| index 7b43e423633..a9a211a3b1f 100644
 | ||||
| --- a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
 | ||||
| +++ b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
 | ||||
| @@ -1,4 +1,5 @@
 | ||||
|  /* { dg-do compile } */ | ||||
| +/* { dg-additional-options "-fno-report-bug" } */
 | ||||
|   | ||||
|  extern void inject_write_through_null (void); | ||||
|   | ||||
| 
 | ||||
| base-commit: 070a6bf0bdc6761ad77ac97404c98f00a7007d54 | ||||
| -- 
 | ||||
| 2.41.0 | ||||
| 
 | ||||
							
								
								
									
										85
									
								
								SOURCES/isl-rh2155127.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								SOURCES/isl-rh2155127.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| From: Sven Verdoolaege <sven.verdoolaege@gmail.com> | ||||
| Date: Mon, 6 Jun 2022 12:56:02 +0000 (+0200) | ||||
| Subject: update m4/ax_prog_cc_for_build.m4 | ||||
| X-Git-Tag: isl-0.25~11 | ||||
| X-Git-Url: https://repo.or.cz/isl.git/commitdiff_plain/b4dcdfadc29a6c9f410a72f345f3f32725b1d38b | ||||
| 
 | ||||
| update m4/ax_prog_cc_for_build.m4 | ||||
| 
 | ||||
| In particular, update to the latest version from the autoconf archive, | ||||
| but preserve the changes from isl-0.22.1-358-gcd42abdf2 | ||||
| (m4/ax_prog_cc_for_build.m4: do not override host compiler dependency style, | ||||
| Tue Jun 9 10:54:10 2020 +0200). | ||||
| 
 | ||||
| Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com> | ||||
| 
 | ||||
| --- isl-0.24/m4/ax_prog_cc_for_build.m4.jj	2021-03-02 12:07:09.000000000 +0100
 | ||||
| +++ isl-0.24/m4/ax_prog_cc_for_build.m4	2022-12-20 18:11:18.855777817 +0100
 | ||||
| @@ -32,7 +32,7 @@
 | ||||
|  #   and this notice are preserved. This file is offered as-is, without any | ||||
|  #   warranty. | ||||
|   | ||||
| -#serial 18
 | ||||
| +#serial 21
 | ||||
|   | ||||
|  AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) | ||||
|  AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl | ||||
| @@ -44,6 +44,8 @@ dnl Use the standard macros, but make th
 | ||||
|  dnl | ||||
|  pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl | ||||
|  pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl | ||||
| +pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
 | ||||
| +pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
 | ||||
|  pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl | ||||
|  pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl | ||||
|  pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl | ||||
| @@ -86,7 +88,21 @@ AS_IF([test -n "$build"],      [ac_build
 | ||||
|        [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) | ||||
|   | ||||
|  AC_LANG_PUSH([C]) | ||||
| +
 | ||||
| +dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
 | ||||
| +dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
 | ||||
| +dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
 | ||||
| +was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
 | ||||
| +AS_IF([test ${was_set_c_compiler_gnu}],
 | ||||
| +    [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
 | ||||
| +    AS_UNSET([[ac_cv_c_compiler_gnu]])])
 | ||||
| +
 | ||||
|  AC_PROG_CC | ||||
| +
 | ||||
| +dnl Restore ac_cv_c_compiler_gnu
 | ||||
| +AS_IF([test ${was_set_c_compiler_gnu}],
 | ||||
| +  [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
 | ||||
| +
 | ||||
|  _AC_COMPILER_EXEEXT | ||||
|  _AC_COMPILER_OBJEXT | ||||
|  AC_PROG_CPP | ||||
| --- isl-0.24/configure.jj	2021-04-26 11:13:19.000000000 +0200
 | ||||
| +++ isl-0.24/configure	2022-12-20 18:11:36.882518568 +0100
 | ||||
| @@ -5002,6 +4990,13 @@ ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR
 | ||||
|  ac_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' | ||||
|  ac_compiler_gnu=$ac_cv_build_c_compiler_gnu | ||||
|   | ||||
| +
 | ||||
| +was_set_c_compiler_gnu=${ac_cv_c_compiler_gnu+y}
 | ||||
| +if test ${was_set_c_compiler_gnu}; then :
 | ||||
| +  saved_c_compiler_gnu=$ac_cv_c_compiler_gnu
 | ||||
| +    { ac_cv_c_compiler_gnu=; unset ac_cv_c_compiler_gnu;}
 | ||||
| +fi
 | ||||
| +
 | ||||
|  ac_ext=c | ||||
|  ac_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' | ||||
|  ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' | ||||
| @@ -5728,6 +5723,11 @@ else
 | ||||
|  fi | ||||
|   | ||||
|   | ||||
| +
 | ||||
| +if test ${was_set_c_compiler_gnu}; then :
 | ||||
| +  ac_cv_c_compiler_gnu=$saved_c_compiler_gnu
 | ||||
| +fi
 | ||||
| +
 | ||||
|  cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||||
|  /* end confdefs.h.  */ | ||||
|   | ||||
							
								
								
									
										188
									
								
								SOURCES/libgomp_nonshared.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										188
									
								
								SOURCES/libgomp_nonshared.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,188 @@ | ||||
| /* Copyright (C) 2019 Free Software Foundation, Inc.
 | ||||
|    Contributed by Jakub Jelinek <jakub@redhat.com>. | ||||
| 
 | ||||
|    This file is part of the GNU Offloading and Multi Processing Library | ||||
|    (libgomp). | ||||
|    | ||||
|    Libgomp is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 3, or (at your option) | ||||
|    any later version. | ||||
| 
 | ||||
|    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY | ||||
|    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||
|    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for | ||||
|    more details. | ||||
| 
 | ||||
|    Under Section 7 of GPL version 3, you are granted additional | ||||
|    permissions described in the GCC Runtime Library Exception, version | ||||
|    3.1, as published by the Free Software Foundation. | ||||
| 
 | ||||
|    You should have received a copy of the GNU General Public License and | ||||
|    a copy of the GCC Runtime Library Exception along with this program; | ||||
|    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see | ||||
|    <http://www.gnu.org/licenses/>.  */
 | ||||
| 
 | ||||
| /* Remapping of nonmonotonic runtime schedule and maybe nonmonotonic runtime
 | ||||
|    schedule loop entrypoints (the used by GCC 9 and later for runtime | ||||
|    schedule without monotonic or nonmonotonic modifiers). | ||||
|    RHEL 7 libgomp only implements the GOMP*loop*runtime* entrypoints without | ||||
|    nonmonotonic in the names, which always implement monotonic scheduling, | ||||
|    but the library doesn't implement any other scheduling, even in GCC 9 | ||||
|    and monotonic scheduling is a valid implementation of non-monotonic | ||||
|    scheduling.  */ | ||||
| 
 | ||||
| #include <stdbool.h> | ||||
| 
 | ||||
| typedef unsigned long long ull; | ||||
| extern bool GOMP_loop_runtime_start (long, long, long, long *, long *); | ||||
| extern bool GOMP_loop_runtime_next (long *, long *); | ||||
| extern void GOMP_parallel_loop_runtime (void (*)(void *), void *, | ||||
| 					unsigned, long, long, long, | ||||
| 					unsigned); | ||||
| extern bool GOMP_loop_ull_runtime_start (bool, ull, ull, ull, ull *, ull *); | ||||
| extern bool GOMP_loop_ull_runtime_next (ull *, ull *); | ||||
| extern bool GOMP_loop_dynamic_next (long *, long *); | ||||
| extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *); | ||||
| extern bool GOMP_loop_guided_next (long *, long *); | ||||
| extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *); | ||||
| extern bool GOMP_loop_ull_dynamic_next (ull *, ull *); | ||||
| extern bool GOMP_loop_ull_dynamic_start (bool, ull, ull, ull, ull, ull *, | ||||
| 					 ull *); | ||||
| extern bool GOMP_loop_ull_guided_next (ull *, ull *); | ||||
| extern bool GOMP_loop_ull_guided_start (bool, ull, ull, ull, ull, ull *, | ||||
| 					ull *); | ||||
| extern void GOMP_parallel_loop_dynamic (void (*)(void *), void *, | ||||
| 					unsigned, long, long, long, long, | ||||
| 					unsigned); | ||||
| extern void GOMP_parallel_loop_guided (void (*)(void *), void *, | ||||
| 				       unsigned, long, long, long, long, | ||||
| 				       unsigned); | ||||
| #define alias(x, y) __typeof (x) y __attribute__((alias (#x))) | ||||
| 
 | ||||
| #pragma GCC visibility push(hidden) | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_nonmonotonic_runtime_start (long start, long end, long incr, | ||||
| 				      long *istart, long *iend) | ||||
| { | ||||
|   return GOMP_loop_runtime_start (start, end, incr, istart, iend); | ||||
| } | ||||
| alias (GOMP_loop_nonmonotonic_runtime_start, | ||||
|        GOMP_loop_maybe_nonmonotonic_runtime_start); | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_nonmonotonic_runtime_next (long *istart, long *iend) | ||||
| { | ||||
|   return GOMP_loop_runtime_next (istart, iend); | ||||
| } | ||||
| alias (GOMP_loop_nonmonotonic_runtime_next, | ||||
|        GOMP_loop_maybe_nonmonotonic_runtime_next); | ||||
| 
 | ||||
| void | ||||
| GOMP_parallel_loop_nonmonotonic_runtime (void (*fn)(void *), void *data, | ||||
| 					 unsigned num_threads, long start, | ||||
| 					 long end, long incr, unsigned flags) | ||||
| { | ||||
|   return GOMP_parallel_loop_runtime (fn, data, num_threads, start, | ||||
| 				     end, incr, flags); | ||||
| } | ||||
| alias (GOMP_parallel_loop_nonmonotonic_runtime, | ||||
|        GOMP_parallel_loop_maybe_nonmonotonic_runtime); | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_ull_nonmonotonic_runtime_start (bool up, ull start, ull end, | ||||
| 					  ull incr, ull *istart, ull *iend) | ||||
| { | ||||
|   return GOMP_loop_ull_runtime_start (up, start, end, incr, istart, iend); | ||||
| } | ||||
| alias (GOMP_loop_ull_nonmonotonic_runtime_start, | ||||
|        GOMP_loop_ull_maybe_nonmonotonic_runtime_start); | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_ull_nonmonotonic_runtime_next (ull *istart, ull *iend) | ||||
| { | ||||
|   return GOMP_loop_ull_runtime_next (istart, iend); | ||||
| } | ||||
| alias (GOMP_loop_ull_nonmonotonic_runtime_next, | ||||
|        GOMP_loop_ull_maybe_nonmonotonic_runtime_next); | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_nonmonotonic_dynamic_next (long *istart, long *iend) | ||||
| { | ||||
|   return GOMP_loop_dynamic_next (istart, iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_nonmonotonic_dynamic_start (long start, long end, long incr, | ||||
| 				      long chunk_size, long *istart, | ||||
| 				      long *iend) | ||||
| { | ||||
|   return GOMP_loop_dynamic_start (start, end, incr, chunk_size, istart, iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_nonmonotonic_guided_next (long *istart, long *iend) | ||||
| { | ||||
|   return GOMP_loop_guided_next (istart, iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_nonmonotonic_guided_start (long start, long end, long incr, | ||||
| 				     long chunk_size, long *istart, long *iend) | ||||
| { | ||||
|   return GOMP_loop_guided_start (start, end, incr, chunk_size, istart, iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_ull_nonmonotonic_dynamic_next (ull *istart, ull *iend) | ||||
| { | ||||
|   return GOMP_loop_ull_dynamic_next (istart, iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_ull_nonmonotonic_dynamic_start (bool up, ull start, | ||||
| 					  ull end, ull incr, | ||||
| 					  ull chunk_size, | ||||
| 					  ull *istart, ull *iend) | ||||
| { | ||||
|   return GOMP_loop_ull_dynamic_start (up, start, end, incr, chunk_size, istart, | ||||
| 				      iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_ull_nonmonotonic_guided_next (ull *istart, ull *iend) | ||||
| { | ||||
|   return GOMP_loop_ull_guided_next (istart, iend); | ||||
| } | ||||
| 
 | ||||
| bool | ||||
| GOMP_loop_ull_nonmonotonic_guided_start (bool up, ull start, ull end, | ||||
| 					 ull incr, ull chunk_size, | ||||
| 					 ull *istart, ull *iend) | ||||
| { | ||||
|   return GOMP_loop_ull_guided_start (up, start, end, incr, chunk_size, istart, | ||||
| 				     iend); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| GOMP_parallel_loop_nonmonotonic_dynamic (void (*fn) (void *), void *data, | ||||
| 					 unsigned num_threads, long start, | ||||
| 					 long end, long incr, long chunk_size, | ||||
| 					 unsigned flags) | ||||
| { | ||||
|   GOMP_parallel_loop_dynamic (fn, data, num_threads, start, end, incr, | ||||
| 			      chunk_size, flags); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| GOMP_parallel_loop_nonmonotonic_guided (void (*fn) (void *), void *data, | ||||
| 					unsigned num_threads, long start, | ||||
| 					long end, long incr, long chunk_size, | ||||
| 					unsigned flags) | ||||
| { | ||||
|   GOMP_parallel_loop_guided (fn, data, num_threads, start, end, incr, | ||||
| 			     chunk_size, flags); | ||||
| } | ||||
| 
 | ||||
| #pragma  GCC visibility pop | ||||
							
								
								
									
										3218
									
								
								SPECS/gcc.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3218
									
								
								SPECS/gcc.spec
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user