From 828c757f09643e1ae4e63e338e813591cac3f1a0 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 25 Jan 2022 20:13:48 +0100 Subject: [PATCH 1/9] 11.2.1-8 --- .gitignore | 1 + gcc.spec | 31 ++++++++++++++++++++++++++--- gcc11-stringify-__VA_OPT__-2.patch | 12 +++++------ gcc11-stringify-__VA_OPT__.patch | 32 +++++++++++++++--------------- sources | 2 +- 5 files changed, 52 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index dbccc8a..9303dee 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ /gcc-11.2.1-20211018.tar.xz /gcc-11.2.1-20211019.tar.xz /gcc-11.2.1-20211203.tar.xz +/gcc-11.2.1-20220125.tar.xz diff --git a/gcc.spec b/gcc.spec index a310bcf..39b9c01 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20211203 -%global gitrev e41308252e835ddedcabfd4a98240080c6583a43 +%global DATE 20220125 +%global gitrev 1003f94c7cb486aee2ec3ee37ea8b919f908f019 %global gcc_version 11.2.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 7 +%global gcc_release 8 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -3148,6 +3148,31 @@ end %endif %changelog +* Tue Jan 25 2022 Jakub Jelinek 11.2.1-8 +- update from releases/gcc-11-branch + - PRs ada/103538, analyzer/101962, bootstrap/103688, c++/85846, c++/95009, + c++/98394, c++/99911, c++/100493, c++/101715, c++/102229, c++/102933, + c++/103012, c++/103198, c++/103480, c++/103703, c++/103714, + c++/103758, c++/103783, c++/103831, c++/103912, c++/104055, c/97548, + c/101289, c/101537, c/103587, c/103881, d/103604, debug/103838, + debug/103874, fortran/67804, fortran/83079, fortran/101329, + fortran/101762, fortran/102332, fortran/102717, fortran/102787, + fortran/103411, fortran/103412, fortran/103418, fortran/103473, + fortran/103505, fortran/103588, fortran/103591, fortran/103606, + fortran/103607, fortran/103609, fortran/103610, fortran/103692, + fortran/103717, fortran/103718, fortran/103719, fortran/103776, + fortran/103777, fortran/103778, fortran/103782, fortran/103789, + ipa/101354, jit/103562, libfortran/103634, libstdc++/100017, + libstdc++/102994, libstdc++/103453, libstdc++/103501, + libstdc++/103549, libstdc++/103877, libstdc++/103919, + middle-end/101751, middle-end/102860, middle-end/103813, objc/103639, + preprocessor/89971, preprocessor/102432, rtl-optimization/102478, + rtl-optimization/103837, rtl-optimization/103860, + rtl-optimization/103908, sanitizer/102911, target/102347, + target/103465, target/103661, target/104172, target/104188, + tree-optimization/101615, tree-optimization/103523, + tree-optimization/103603, tree-optimization/103995 + * Fri Dec 3 2021 Jakub Jelinek 11.2.1-7 - update from releases/gcc-11-branch - PRs ada/100486, c++/70796, c++/92746, c++/93286, c++/94490, c++/102642, diff --git a/gcc11-stringify-__VA_OPT__-2.patch b/gcc11-stringify-__VA_OPT__-2.patch index 987f738..0b38854 100644 --- a/gcc11-stringify-__VA_OPT__-2.patch +++ b/gcc11-stringify-__VA_OPT__-2.patch @@ -33,7 +33,7 @@ gcc/testsuite/ --- libcpp/macro.c.jj +++ libcpp/macro.c -@@ -295,7 +295,7 @@ static cpp_context *next_context (cpp_reader *); +@@ -295,7 +295,7 @@ static cpp_context *next_context (cpp_re static const cpp_token *padding_token (cpp_reader *, const cpp_token *); static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int); static const cpp_token *stringify_arg (cpp_reader *, const cpp_token **, @@ -42,7 +42,7 @@ gcc/testsuite/ static void paste_all_tokens (cpp_reader *, const cpp_token *); static bool paste_tokens (cpp_reader *, location_t, const cpp_token **, const cpp_token *); -@@ -834,8 +834,7 @@ cpp_quote_string (uchar *dest, const uchar *src, unsigned int len) +@@ -826,8 +826,7 @@ cpp_quote_string (uchar *dest, const uch /* Convert a token sequence FIRST to FIRST+COUNT-1 to a single string token according to the rules of the ISO C #-operator. */ static const cpp_token * @@ -52,7 +52,7 @@ gcc/testsuite/ { unsigned char *dest; unsigned int i, escape_it, backslash_count = 0; -@@ -852,24 +851,6 @@ stringify_arg (cpp_reader *pfile, const cpp_token **first, unsigned int count, +@@ -844,24 +843,6 @@ stringify_arg (cpp_reader *pfile, const { const cpp_token *token = first[i]; @@ -77,7 +77,7 @@ gcc/testsuite/ if (token->type == CPP_PADDING) { if (source == NULL -@@ -1003,6 +984,7 @@ paste_tokens (cpp_reader *pfile, location_t location, +@@ -995,6 +976,7 @@ paste_tokens (cpp_reader *pfile, locatio return false; } @@ -85,7 +85,7 @@ gcc/testsuite/ *plhs = lhs; _cpp_pop_buffer (pfile); return true; -@@ -1945,8 +1927,7 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, +@@ -1937,8 +1919,7 @@ replace_args (cpp_reader *pfile, cpp_has if (src->flags & STRINGIFY_ARG) { if (!arg->stringified) @@ -95,7 +95,7 @@ gcc/testsuite/ } else if ((src->flags & PASTE_LEFT) || (src != macro->exp.tokens && (src[-1].flags & PASTE_LEFT))) -@@ -2066,11 +2047,46 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, +@@ -2071,11 +2052,46 @@ replace_args (cpp_reader *pfile, cpp_has { unsigned int count = start ? paste_flag - start : tokens_buff_count (buff); diff --git a/gcc11-stringify-__VA_OPT__.patch b/gcc11-stringify-__VA_OPT__.patch index 3a2a71f..b21a51f 100644 --- a/gcc11-stringify-__VA_OPT__.patch +++ b/gcc11-stringify-__VA_OPT__.patch @@ -66,7 +66,7 @@ gcc/testsuite/ /* The state variable: 0 means not parsing -@@ -284,7 +294,8 @@ static _cpp_buff *collect_args (cpp_reader *, const cpp_hashnode *, +@@ -284,7 +294,8 @@ static _cpp_buff *collect_args (cpp_read static cpp_context *next_context (cpp_reader *); static const cpp_token *padding_token (cpp_reader *, const cpp_token *); static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int); @@ -76,7 +76,7 @@ gcc/testsuite/ static void paste_all_tokens (cpp_reader *, const cpp_token *); static bool paste_tokens (cpp_reader *, location_t, const cpp_token **, const cpp_token *); -@@ -818,10 +829,11 @@ cpp_quote_string (uchar *dest, const uchar *src, unsigned int len) +@@ -812,10 +823,11 @@ cpp_quote_string (uchar *dest, const uch return dest; } @@ -91,7 +91,7 @@ gcc/testsuite/ { unsigned char *dest; unsigned int i, escape_it, backslash_count = 0; -@@ -834,9 +846,27 @@ stringify_arg (cpp_reader *pfile, macro_arg *arg) +@@ -828,9 +840,27 @@ stringify_arg (cpp_reader *pfile, macro_ *dest++ = '"'; /* Loop, reading in the argument's tokens. */ @@ -121,7 +121,7 @@ gcc/testsuite/ if (token->type == CPP_PADDING) { -@@ -923,7 +953,7 @@ paste_tokens (cpp_reader *pfile, location_t location, +@@ -917,7 +947,7 @@ paste_tokens (cpp_reader *pfile, locatio cpp_token *lhs; unsigned int len; @@ -130,7 +130,7 @@ gcc/testsuite/ buf = (unsigned char *) alloca (len); end = lhsend = cpp_spell_token (pfile, *plhs, buf, true); -@@ -949,8 +979,10 @@ paste_tokens (cpp_reader *pfile, location_t location, +@@ -943,8 +973,10 @@ paste_tokens (cpp_reader *pfile, locatio location_t saved_loc = lhs->src_loc; _cpp_pop_buffer (pfile); @@ -143,7 +143,7 @@ gcc/testsuite/ /* We have to remove the PASTE_LEFT flag from the old lhs, but we want to keep the new location. */ -@@ -962,8 +994,10 @@ paste_tokens (cpp_reader *pfile, location_t location, +@@ -956,8 +988,10 @@ paste_tokens (cpp_reader *pfile, locatio /* Mandatory error for all apart from assembler. */ if (CPP_OPTION (pfile, lang) != CLK_ASM) cpp_error_with_line (pfile, CPP_DL_ERROR, location, 0, @@ -156,7 +156,7 @@ gcc/testsuite/ return false; } -@@ -1039,7 +1073,10 @@ paste_all_tokens (cpp_reader *pfile, const cpp_token *lhs) +@@ -1033,7 +1067,10 @@ paste_all_tokens (cpp_reader *pfile, con abort (); } if (!paste_tokens (pfile, virt_loc, &lhs, rhs)) @@ -168,7 +168,7 @@ gcc/testsuite/ } while (rhs->flags & PASTE_LEFT); -@@ -1906,7 +1943,8 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, +@@ -1900,7 +1937,8 @@ replace_args (cpp_reader *pfile, cpp_has if (src->flags & STRINGIFY_ARG) { if (!arg->stringified) @@ -178,11 +178,11 @@ gcc/testsuite/ } else if ((src->flags & PASTE_LEFT) || (src != macro->exp.tokens && (src[-1].flags & PASTE_LEFT))) -@@ -2029,7 +2067,24 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, - paste_flag = tokens_buff_last_token_ptr (buff); - } - -- if (src->flags & PASTE_LEFT) +@@ -2028,6 +2066,25 @@ replace_args (cpp_reader *pfile, cpp_has + is empty or because it is __VA_OPT__() ), drop PASTE_LEFT + flag from previous token. */ + copy_paste_flag (pfile, start, &pfile->avoid_paste); ++ + if (vaopt_tracker.stringify ()) + { + unsigned int count @@ -199,12 +199,12 @@ gcc/testsuite/ + tokens_buff_add_token (buff, virt_locs, + t, t->src_loc, t->src_loc, + NULL, 0); ++ continue; + } -+ else if (src->flags & PASTE_LEFT) + if (src->flags & PASTE_LEFT) { /* With a non-empty __VA_OPT__ on the LHS of ##, the last - token should be flagged PASTE_LEFT. */ -@@ -3585,7 +3640,10 @@ create_iso_definition (cpp_reader *pfile) +@@ -3584,7 +3641,10 @@ create_iso_definition (cpp_reader *pfile function-like macros when lexing the subsequent token. */ if (macro->count > 1 && token[-1].type == CPP_HASH && macro->fun_like) { diff --git a/sources b/sources index a7e012b..4143273 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20211203.tar.xz) = 3cf64d3af541b9e80a2d5dd95a1257afefda554cfa16b757a7f861701e3da2d6917dbb1f4cd74301ffaf45e92c441642b8c589a10698a9103a216620f0849626 +SHA512 (gcc-11.2.1-20220125.tar.xz) = f2670bce2f207e3353c30be9f1108499b91f27bce9182f1cec3a73a754f248886a6e6e4b40c5968b74fd4409604780c9ad78b92677c27521d82f31b5b38ad269 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 From a0c2c3b09eddb427e61db80a550a15c79e026094 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 27 Jan 2022 10:21:55 +0100 Subject: [PATCH 2/9] 11.2.1-9 --- .gitignore | 1 + gcc.spec | 11 ++++++++--- gcc11-stringify-__VA_OPT__-2.patch | 2 +- gcc11-stringify-__VA_OPT__.patch | 17 ++++++++--------- sources | 2 +- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 9303dee..efb1370 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ /gcc-11.2.1-20211019.tar.xz /gcc-11.2.1-20211203.tar.xz /gcc-11.2.1-20220125.tar.xz +/gcc-11.2.1-20220127.tar.xz diff --git a/gcc.spec b/gcc.spec index 39b9c01..9f5face 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20220125 -%global gitrev 1003f94c7cb486aee2ec3ee37ea8b919f908f019 +%global DATE 20220127 +%global gitrev 2fa6e5c54e782377faa4c9c1f0e0b16db27f266c %global gcc_version 11.2.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 8 +%global gcc_release 9 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -3148,6 +3148,11 @@ end %endif %changelog +* Thu Jan 25 2022 Jakub Jelinek 11.2.1-9 +- update from releases/gcc-11-branch + - PRs fortran/104127, fortran/104212, fortran/104227, target/101529 +- fix up va-opt-6.c testcase + * Tue Jan 25 2022 Jakub Jelinek 11.2.1-8 - update from releases/gcc-11-branch - PRs ada/103538, analyzer/101962, bootstrap/103688, c++/85846, c++/95009, diff --git a/gcc11-stringify-__VA_OPT__-2.patch b/gcc11-stringify-__VA_OPT__-2.patch index 0b38854..5874bc1 100644 --- a/gcc11-stringify-__VA_OPT__-2.patch +++ b/gcc11-stringify-__VA_OPT__-2.patch @@ -95,7 +95,7 @@ gcc/testsuite/ } else if ((src->flags & PASTE_LEFT) || (src != macro->exp.tokens && (src[-1].flags & PASTE_LEFT))) -@@ -2071,11 +2052,46 @@ replace_args (cpp_reader *pfile, cpp_has +@@ -2065,11 +2046,46 @@ replace_args (cpp_reader *pfile, cpp_has { unsigned int count = start ? paste_flag - start : tokens_buff_count (buff); diff --git a/gcc11-stringify-__VA_OPT__.patch b/gcc11-stringify-__VA_OPT__.patch index b21a51f..101b026 100644 --- a/gcc11-stringify-__VA_OPT__.patch +++ b/gcc11-stringify-__VA_OPT__.patch @@ -178,11 +178,10 @@ gcc/testsuite/ } else if ((src->flags & PASTE_LEFT) || (src != macro->exp.tokens && (src[-1].flags & PASTE_LEFT))) -@@ -2028,6 +2066,25 @@ replace_args (cpp_reader *pfile, cpp_has - is empty or because it is __VA_OPT__() ), drop PASTE_LEFT - flag from previous token. */ - copy_paste_flag (pfile, start, &pfile->avoid_paste); -+ +@@ -2023,6 +2061,24 @@ replace_args (cpp_reader *pfile, cpp_has + paste_flag = tokens_buff_last_token_ptr (buff); + } + + if (vaopt_tracker.stringify ()) + { + unsigned int count @@ -201,10 +200,10 @@ gcc/testsuite/ + NULL, 0); + continue; + } - if (src->flags & PASTE_LEFT) - { - /* With a non-empty __VA_OPT__ on the LHS of ##, the last -@@ -3584,7 +3641,10 @@ create_iso_definition (cpp_reader *pfile + if (start && paste_flag == start && (*start)->flags & PASTE_LEFT) + /* If __VA_OPT__ expands to nothing (either because __VA_ARGS__ + is empty or because it is __VA_OPT__() ), drop PASTE_LEFT +@@ -3584,7 +3640,10 @@ create_iso_definition (cpp_reader *pfile function-like macros when lexing the subsequent token. */ if (macro->count > 1 && token[-1].type == CPP_HASH && macro->fun_like) { diff --git a/sources b/sources index 4143273..a2dc8ba 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20220125.tar.xz) = f2670bce2f207e3353c30be9f1108499b91f27bce9182f1cec3a73a754f248886a6e6e4b40c5968b74fd4409604780c9ad78b92677c27521d82f31b5b38ad269 +SHA512 (gcc-11.2.1-20220127.tar.xz) = da9fa3122aa15ad647e07fac27e8c59de74fa04f1846074320751f6fbfa30ac239867b6c349c4d0c08ada01722e6074a89809dd89c3e189fefdfcf16fad70498 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 From 5828db0e354e6cb8eaa3852cf5bbde4e9694784f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 1 Apr 2022 19:33:36 +0200 Subject: [PATCH 3/9] 11.2.1-10 --- .gitignore | 1 + gcc.spec | 53 +++++++++++++++++++++++++++++++++++++++++--- gcc11-pr105123.patch | 48 +++++++++++++++++++++++++++++++++++++++ sources | 2 +- 4 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 gcc11-pr105123.patch diff --git a/.gitignore b/.gitignore index efb1370..a29b7ad 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ /gcc-11.2.1-20211203.tar.xz /gcc-11.2.1-20220125.tar.xz /gcc-11.2.1-20220127.tar.xz +/gcc-11.2.1-20220401.tar.xz diff --git a/gcc.spec b/gcc.spec index 9f5face..6aac816 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20220127 -%global gitrev 2fa6e5c54e782377faa4c9c1f0e0b16db27f266c +%global DATE 20220401 +%global gitrev f0191923ac7d1fee22772d456c59737b935c3483 %global gcc_version 11.2.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 9 +%global gcc_release 10 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -271,6 +271,7 @@ Patch14: gcc11-libgcc-link.patch Patch15: gcc11-pr101786.patch Patch16: gcc11-stringify-__VA_OPT__.patch Patch17: gcc11-stringify-__VA_OPT__-2.patch +Patch18: gcc11-pr105123.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -800,6 +801,7 @@ to NVidia PTX capable devices if available. %patch15 -p0 -b .pr101786~ %patch16 -p0 -b .stringify-__VA_OPT__~ %patch17 -p0 -b .stringify-__VA_OPT__-2~ +%patch18 -p0 -b .pr105123~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3148,6 +3150,51 @@ end %endif %changelog +* Fri Apr 1 2022 Jakub Jelinek 11.2.1-10 +- update from releases/gcc-11-branch + - PRs ada/98724, ada/104258, ada/104767, ada/104861, c++/58646, c++/59950, + c++/61611, c++/95036, c++/100468, c++/101030, c++/101095, c++/101371, + c++/101515, c++/101767, c++/102045, c++/102123, c++/102538, + c++/102740, c++/102990, c++/103057, c++/103186, c++/103291, + c++/103299, c++/103337, c++/103711, c++/103769, c++/103968, + c++/104107, c++/104108, c++/104284, c++/104410, c++/104472, + c++/104513, c++/104568, c++/104667, c++/104806, c++/104847, + c++/104944, c++/104994, c++/105035, c++/105061, c/82283, c/84685, + c/104510, c/104711, d/104659, d/105004, debug/104337, debug/104517, + debug/104557, fortran/66193, fortran/99585, fortran/100337, + fortran/103790, fortran/104211, fortran/104311, fortran/104331, + fortran/104430, fortran/104619, fortran/104811, go/100537, + libgomp/104385, libstdc++/101231, libstdc++/102358, libstdc++/103904, + libstdc++/104442, lto/104237, lto/104333, lto/104617, + middle-end/95115, middle-end/99578, middle-end/100464, + middle-end/100680, middle-end/100775, middle-end/100786, + middle-end/104307, middle-end/104402, middle-end/104446, + middle-end/104786, middle-end/104971, middle-end/105032, + preprocessor/104147, rtl-optimization/104544, rtl-optimization/104589, + rtl-optimization/104777, rtl-optimization/104814, sanitizer/102656, + sanitizer/104449, sanitizer/105093, target/79754, target/87496, + target/99708, target/99754, target/100784, target/101324, + target/102140, target/102952, target/102957, target/103307, + target/103627, target/103925, target/104090, target/104208, + target/104219, target/104253, target/104362, target/104448, + target/104451, target/104453, target/104458, target/104462, + target/104469, target/104502, target/104674, target/104681, + target/104688, target/104775, target/104890, target/104910, + target/104923, target/104963, target/104998, target/105000, + target/105052, target/105058, target/105068, testsuite/103556, + testsuite/103586, testsuite/104730, testsuite/104759, + testsuite/105055, tree-optimization/45178, tree-optimization/100834, + tree-optimization/101636, tree-optimization/102819, + tree-optimization/102893, tree-optimization/103169, + tree-optimization/103361, tree-optimization/103489, + tree-optimization/103544, tree-optimization/103596, + tree-optimization/103641, tree-optimization/103864, + tree-optimization/104263, tree-optimization/104288, + tree-optimization/104511, tree-optimization/104601, + tree-optimization/104675, tree-optimization/104782, + tree-optimization/104931, tree-optimization/105094 +- fix x86 vector initialization expansion fallback (PR target/105123) + * Thu Jan 25 2022 Jakub Jelinek 11.2.1-9 - update from releases/gcc-11-branch - PRs fortran/104127, fortran/104212, fortran/104227, target/101529 diff --git a/gcc11-pr105123.patch b/gcc11-pr105123.patch new file mode 100644 index 0000000..a991d2f --- /dev/null +++ b/gcc11-pr105123.patch @@ -0,0 +1,48 @@ +2022-04-01 Jakub Jelinek + + PR target/105123 + * config/i386/i386-expand.c (ix86_expand_vector_init_general): Avoid + using word as target for expand_simple_binop when doing ASHIFT and + IOR. + + * gcc.target/i386/pr105123.c: New test. + +--- gcc/config/i386/i386-expand.c.jj 2022-03-19 13:52:53.000000000 +0100 ++++ gcc/config/i386/i386-expand.c 2022-04-01 16:51:27.253154191 +0200 +@@ -15830,9 +15830,9 @@ quarter: + else + { + word = expand_simple_binop (tmp_mode, ASHIFT, word, shift, +- word, 1, OPTAB_LIB_WIDEN); ++ NULL_RTX, 1, OPTAB_LIB_WIDEN); + word = expand_simple_binop (tmp_mode, IOR, word, elt, +- word, 1, OPTAB_LIB_WIDEN); ++ NULL_RTX, 1, OPTAB_LIB_WIDEN); + } + } + +--- gcc/testsuite/gcc.target/i386/pr105123.c.jj 2022-04-01 16:56:44.549625810 +0200 ++++ gcc/testsuite/gcc.target/i386/pr105123.c 2022-04-01 16:56:33.569782511 +0200 +@@ -0,0 +1,22 @@ ++/* PR target/105123 */ ++/* { dg-do run { target sse2_runtime } } */ ++/* { dg-options "-msse2" } */ ++/* { dg-additional-options "-mtune=i686" { target ia32 } } */ ++ ++typedef unsigned short __attribute__((__vector_size__ (4 * sizeof (unsigned short)))) V; ++ ++V ++foo (unsigned short u, V v) ++{ ++ return __builtin_shuffle (u * v, v); ++} ++ ++int ++main () ++{ ++ V x = foo (1, (V) { 0, 1, 2, 3 }); ++ for (unsigned i = 0; i < 4; i++) ++ if (x[i] != i) ++ __builtin_abort (); ++ return 0; ++} diff --git a/sources b/sources index a2dc8ba..007eb2c 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20220127.tar.xz) = da9fa3122aa15ad647e07fac27e8c59de74fa04f1846074320751f6fbfa30ac239867b6c349c4d0c08ada01722e6074a89809dd89c3e189fefdfcf16fad70498 +SHA512 (gcc-11.2.1-20220401.tar.xz) = 10a0cda5ca957abe24e49f1eee6b2254c847282ab70f0064124a71ba6d133e67d8dec2f0071806108003999810cfbc164cff77b23755b9f15797e5b6ae32b2c0 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 From f3b64ce597b93e5725e93f3328d3c9b1549b5ba8 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 1 Apr 2022 19:42:42 +0200 Subject: [PATCH 4/9] 11.2.1-10 --- gcc11-pr105123.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc11-pr105123.patch b/gcc11-pr105123.patch index a991d2f..1b10d70 100644 --- a/gcc11-pr105123.patch +++ b/gcc11-pr105123.patch @@ -9,13 +9,13 @@ --- gcc/config/i386/i386-expand.c.jj 2022-03-19 13:52:53.000000000 +0100 +++ gcc/config/i386/i386-expand.c 2022-04-01 16:51:27.253154191 +0200 -@@ -15830,9 +15830,9 @@ quarter: +@@ -14479,9 +14479,9 @@ quarter: else { - word = expand_simple_binop (tmp_mode, ASHIFT, word, shift, + word = expand_simple_binop (word_mode, ASHIFT, word, shift, - word, 1, OPTAB_LIB_WIDEN); + NULL_RTX, 1, OPTAB_LIB_WIDEN); - word = expand_simple_binop (tmp_mode, IOR, word, elt, + word = expand_simple_binop (word_mode, IOR, word, elt, - word, 1, OPTAB_LIB_WIDEN); + NULL_RTX, 1, OPTAB_LIB_WIDEN); } From 7fd6140f2f01cab020036023e91be0898c476ca5 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 21 Apr 2022 12:25:39 +0200 Subject: [PATCH 5/9] 11.3.1-1 --- .gitignore | 1 + gcc.spec | 36 +++++++++++++++++++++++----- gcc11-libstdc++-docs.patch | 4 ++-- gcc11-pr105123.patch | 48 -------------------------------------- gcc11-pr105331.patch | 33 ++++++++++++++++++++++++++ sources | 2 +- update-gcc.sh | 2 +- 7 files changed, 68 insertions(+), 58 deletions(-) delete mode 100644 gcc11-pr105123.patch create mode 100644 gcc11-pr105331.patch diff --git a/.gitignore b/.gitignore index a29b7ad..3bfbff8 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ /gcc-11.2.1-20220125.tar.xz /gcc-11.2.1-20220127.tar.xz /gcc-11.2.1-20220401.tar.xz +/gcc-11.3.1-20220421.tar.xz diff --git a/gcc.spec b/gcc.spec index 6aac816..8876363 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20220401 -%global gitrev f0191923ac7d1fee22772d456c59737b935c3483 -%global gcc_version 11.2.1 +%global DATE 20220421 +%global gitrev 46deeb7fcf0b3c0749a5adf511d24f2facfe03aa +%global gcc_version 11.3.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 10 +%global gcc_release 1 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -271,7 +271,7 @@ Patch14: gcc11-libgcc-link.patch Patch15: gcc11-pr101786.patch Patch16: gcc11-stringify-__VA_OPT__.patch Patch17: gcc11-stringify-__VA_OPT__-2.patch -Patch18: gcc11-pr105123.patch +Patch18: gcc11-pr105331.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -801,7 +801,7 @@ to NVidia PTX capable devices if available. %patch15 -p0 -b .pr101786~ %patch16 -p0 -b .stringify-__VA_OPT__~ %patch17 -p0 -b .stringify-__VA_OPT__-2~ -%patch18 -p0 -b .pr105123~ +%patch18 -p0 -b .pr105331~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3150,6 +3150,30 @@ end %endif %changelog +* Thu Apr 21 2022 Jakub Jelinek 11.3.1-1 +- update from releases/gcc-11-branch + - GCC 11.3 release + - PRs c++/98249, c++/99893, c++/100608, c++/101051, c++/101532, c++/101677, + c++/101717, c++/101894, c++/102869, c++/103105, c++/103328, + c++/103341, c++/103455, c++/103706, c++/103885, c++/103943, + c++/104008, c++/104079, c++/104225, c++/104507, c++/104565, + c++/105003, c++/105064, c++/105143, c++/105186, c++/105256, c/101585, + debug/105203, fortran/102992, fortran/104210, fortran/104228, + fortran/104570, fortran/105138, gcov-profile/105282, ipa/103083, + ipa/103432, jit/100613, libstdc++/90943, libstdc++/100516, + libstdc++/103630, libstdc++/103638, libstdc++/103650, + libstdc++/103955, libstdc++/104098, libstdc++/104301, + libstdc++/104542, libstdc++/104859, libstdc++/105021, + libstdc++/105027, middle-end/104497, middle-end/105165, + rtl-optimization/104985, rtl-optimization/105028, + rtl-optimization/105211, target/80556, target/100106, target/104117, + target/104474, target/104853, target/104894, target/105214, + target/105257, tree-optimization/99121, tree-optimization/104880, + tree-optimization/105053, tree-optimization/105070, + tree-optimization/105189, tree-optimization/105198, + tree-optimization/105226, tree-optimization/105232, + tree-optimization/105235 + * Fri Apr 1 2022 Jakub Jelinek 11.2.1-10 - update from releases/gcc-11-branch - PRs ada/98724, ada/104258, ada/104767, ada/104861, c++/58646, c++/59950, diff --git a/gcc11-libstdc++-docs.patch b/gcc11-libstdc++-docs.patch index 4b4f9f8..b044a4d 100644 --- a/gcc11-libstdc++-docs.patch +++ b/gcc11-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 11.2.1 ++ Release 11.3.1 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@

- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 11.2.1 release, ++ for the 11.3.1 release, + online for each GCC release and diff --git a/gcc11-pr105123.patch b/gcc11-pr105123.patch deleted file mode 100644 index 1b10d70..0000000 --- a/gcc11-pr105123.patch +++ /dev/null @@ -1,48 +0,0 @@ -2022-04-01 Jakub Jelinek - - PR target/105123 - * config/i386/i386-expand.c (ix86_expand_vector_init_general): Avoid - using word as target for expand_simple_binop when doing ASHIFT and - IOR. - - * gcc.target/i386/pr105123.c: New test. - ---- gcc/config/i386/i386-expand.c.jj 2022-03-19 13:52:53.000000000 +0100 -+++ gcc/config/i386/i386-expand.c 2022-04-01 16:51:27.253154191 +0200 -@@ -14479,9 +14479,9 @@ quarter: - else - { - word = expand_simple_binop (word_mode, ASHIFT, word, shift, -- word, 1, OPTAB_LIB_WIDEN); -+ NULL_RTX, 1, OPTAB_LIB_WIDEN); - word = expand_simple_binop (word_mode, IOR, word, elt, -- word, 1, OPTAB_LIB_WIDEN); -+ NULL_RTX, 1, OPTAB_LIB_WIDEN); - } - } - ---- gcc/testsuite/gcc.target/i386/pr105123.c.jj 2022-04-01 16:56:44.549625810 +0200 -+++ gcc/testsuite/gcc.target/i386/pr105123.c 2022-04-01 16:56:33.569782511 +0200 -@@ -0,0 +1,22 @@ -+/* PR target/105123 */ -+/* { dg-do run { target sse2_runtime } } */ -+/* { dg-options "-msse2" } */ -+/* { dg-additional-options "-mtune=i686" { target ia32 } } */ -+ -+typedef unsigned short __attribute__((__vector_size__ (4 * sizeof (unsigned short)))) V; -+ -+V -+foo (unsigned short u, V v) -+{ -+ return __builtin_shuffle (u * v, v); -+} -+ -+int -+main () -+{ -+ V x = foo (1, (V) { 0, 1, 2, 3 }); -+ for (unsigned i = 0; i < 4; i++) -+ if (x[i] != i) -+ __builtin_abort (); -+ return 0; -+} diff --git a/gcc11-pr105331.patch b/gcc11-pr105331.patch new file mode 100644 index 0000000..fa1a9d3 --- /dev/null +++ b/gcc11-pr105331.patch @@ -0,0 +1,33 @@ +2022-04-21 Jakub Jelinek + + PR target/105331 + * config/i386/i386.c (ix86_gimplify_va_arg): Mark va_arg_tmp + temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR + of it. + + * gcc.dg/pr105331.c: New test. + +--- gcc/config/i386/i386.c.jj 2022-04-12 09:20:07.566662842 +0200 ++++ gcc/config/i386/i386.c 2022-04-21 12:03:32.201951522 +0200 +@@ -4891,6 +4891,7 @@ ix86_gimplify_va_arg (tree valist, tree + { + int i, prev_size = 0; + tree temp = create_tmp_var (type, "va_arg_tmp"); ++ TREE_ADDRESSABLE (temp) = 1; + + /* addr = &temp; */ + t = build1 (ADDR_EXPR, build_pointer_type (type), temp); +--- gcc/testsuite/gcc.dg/pr105331.c.jj 2022-04-21 12:09:34.398906718 +0200 ++++ gcc/testsuite/gcc.dg/pr105331.c 2022-04-21 12:09:07.304283903 +0200 +@@ -0,0 +1,11 @@ ++/* PR target/105331 */ ++/* { dg-do compile } */ ++/* { dg-options "-O -Wuninitialized" } */ ++ ++#include ++ ++int ++foo (va_list *va) ++{ ++ return va_arg (*va, double _Complex); /* { dg-bogus "may be used uninitialized" } */ ++} diff --git a/sources b/sources index 007eb2c..8a79683 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20220401.tar.xz) = 10a0cda5ca957abe24e49f1eee6b2254c847282ab70f0064124a71ba6d133e67d8dec2f0071806108003999810cfbc164cff77b23755b9f15797e5b6ae32b2c0 +SHA512 (gcc-11.3.1-20220421.tar.xz) = de7eb63cf35f3334f2dd0e06a41d9a6f9e770679378b35a841afd86252f98a6fd8f36397981d94e6bb6ea4ce3e5fb74df580a4ba109ba96b518810286d25ca38 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 diff --git a/update-gcc.sh b/update-gcc.sh index 644b209..bacec6a 100755 --- a/update-gcc.sh +++ b/update-gcc.sh @@ -3,5 +3,5 @@ git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1 d=`date --iso | sed 's/-//g'` -git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.2.1-$d/ $1 | xz -9e > gcc-11.2.1-$d.tar.xz +git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.3.1-$d/ $1 | xz -9e > gcc-11.3.1-$d.tar.xz rm -rf gcc-dir.tmp From f064ddbb2e9177fed1090bf6ec4ed64149413839 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 21 Apr 2022 12:49:38 +0200 Subject: [PATCH 6/9] 11.3.1-1 --- gcc.spec | 5 +++++ gcc11-libgcc-link.patch | 12 ----------- gcc11-pr105324.patch | 44 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 12 deletions(-) create mode 100644 gcc11-pr105324.patch diff --git a/gcc.spec b/gcc.spec index 8876363..8431e65 100644 --- a/gcc.spec +++ b/gcc.spec @@ -272,6 +272,7 @@ Patch15: gcc11-pr101786.patch Patch16: gcc11-stringify-__VA_OPT__.patch Patch17: gcc11-stringify-__VA_OPT__-2.patch Patch18: gcc11-pr105331.patch +Patch19: gcc11-pr105324.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -802,6 +803,7 @@ to NVidia PTX capable devices if available. %patch16 -p0 -b .stringify-__VA_OPT__~ %patch17 -p0 -b .stringify-__VA_OPT__-2~ %patch18 -p0 -b .pr105331~ +%patch19 -p0 -b .pr105324~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3173,6 +3175,9 @@ end tree-optimization/105189, tree-optimization/105198, tree-optimization/105226, tree-optimization/105232, tree-optimization/105235 +- fix bogus -Wuninitialized warning on va_arg with complex types on x86_64 + (PR target/105331) +- remove bogus assertion in std::from_chars (PR libstdc++/105324) * Fri Apr 1 2022 Jakub Jelinek 11.2.1-10 - update from releases/gcc-11-branch diff --git a/gcc11-libgcc-link.patch b/gcc11-libgcc-link.patch index 8551934..1904c4b 100644 --- a/gcc11-libgcc-link.patch +++ b/gcc11-libgcc-link.patch @@ -19,7 +19,6 @@ that also repeats later in the @multilib_flags@, which should be harmless. 2021-08-04 Jakub Jelinek * config/t-slibgcc (SHLIB_LINK): Add $(LDFLAGS). - * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. * config/t-slibgcc-vms (SHLIB_LINK): Likewise. --- libgcc/config/t-slibgcc @@ -33,17 +32,6 @@ that also repeats later in the @multilib_flags@, which should be harmless. -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ $(SHLIB_OBJS) $(SHLIB_LC) && \ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ ---- libgcc/config/t-slibgcc-darwin -+++ libgcc/config/t-slibgcc-darwin -@@ -15,7 +15,7 @@ SHLIB_LC = -lc - # Note that this version is used for the loader, not the linker; the linker - # uses the stub versions named by the versioned members of $(INSTALL_FILES). - --SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \ -+SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \ - -install_name @shlib_slibdir@/$(SHLIB_INSTALL_NAME) \ - -single_module -o $(SHLIB_DIR)/$(SHLIB_SONAME) \ - -Wl,-exported_symbols_list,$(SHLIB_MAP) \ --- libgcc/config/t-slibgcc-vms +++ libgcc/config/t-slibgcc-vms @@ -22,7 +22,7 @@ SHLIB_LINK = \ diff --git a/gcc11-pr105324.patch b/gcc11-pr105324.patch new file mode 100644 index 0000000..7657824 --- /dev/null +++ b/gcc11-pr105324.patch @@ -0,0 +1,44 @@ +libstdc++: Remove bogus assertion in std::from_chars [PR105324] + +I'm not sure what I was thinking when I added this assertion, maybe it +was supposed to be alignment == 1 (which is what the pmr::string actually +uses). The simplest fix is to just remove the assertion. + +The assertion is no longer enabled by default on trunk, but it's still +there for the --enablke-libstdcxx-debug build, and is still wrong. The +fix is needed on the gcc-11 branch. + +2022-04-21 Jonathan Wakely + + PR libstdc++/105324 + * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): + Remove assertion. + * testsuite/20_util/from_chars/pr105324.cc: New test. + +--- libstdc++-v3/src/c++17/floating_from_chars.cc ++++ libstdc++-v3/src/c++17/floating_from_chars.cc +@@ -101,7 +101,6 @@ namespace + return m_buf + std::__exchange(m_bytes, m_bytes + bytes); + + __glibcxx_assert(m_ptr == nullptr); +- __glibcxx_assert(alignment != 1); + + m_ptr = operator new(bytes); + m_bytes = bytes; +--- libstdc++-v3/testsuite/20_util/from_chars/pr105324.cc ++++ libstdc++-v3/testsuite/20_util/from_chars/pr105324.cc +@@ -0,0 +1,14 @@ ++// { dg-do run { target c++17 } } ++ ++#include ++#include ++ ++int main() ++{ ++ // PR libstdc++/105324 ++ // std::from_chars() assertion at floating_from_chars.cc:78 ++ std::string s(512, '1'); ++ s[1] = '.'; ++ long double d; ++ std::from_chars(s.data(), s.data() + s.size(), d); ++} From e43b577f994c3b7021759a1a2e5165530f9a585d Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 21 Apr 2022 14:52:48 +0200 Subject: [PATCH 7/9] 11.3.1-2 --- gcc.spec | 10 ++++++---- gcc11-pr105324.patch | 44 -------------------------------------------- sources | 2 +- 3 files changed, 7 insertions(+), 49 deletions(-) delete mode 100644 gcc11-pr105324.patch diff --git a/gcc.spec b/gcc.spec index 8431e65..89e8939 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ %global DATE 20220421 -%global gitrev 46deeb7fcf0b3c0749a5adf511d24f2facfe03aa +%global gitrev 1d3172725999deb0dca93ac70393ed9a0ad0da3f %global gcc_version 11.3.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 1 +%global gcc_release 2 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -272,7 +272,6 @@ Patch15: gcc11-pr101786.patch Patch16: gcc11-stringify-__VA_OPT__.patch Patch17: gcc11-stringify-__VA_OPT__-2.patch Patch18: gcc11-pr105331.patch -Patch19: gcc11-pr105324.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -803,7 +802,6 @@ to NVidia PTX capable devices if available. %patch16 -p0 -b .stringify-__VA_OPT__~ %patch17 -p0 -b .stringify-__VA_OPT__-2~ %patch18 -p0 -b .pr105331~ -%patch19 -p0 -b .pr105324~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3152,6 +3150,10 @@ end %endif %changelog +* Thu Apr 21 2022 Jakub Jelinek 11.3.1-2 +- update from releases/gcc-11-branch + - PRs debug/105203, gcov-profile/105282, libstdc++/105324, target/105257 + * Thu Apr 21 2022 Jakub Jelinek 11.3.1-1 - update from releases/gcc-11-branch - GCC 11.3 release diff --git a/gcc11-pr105324.patch b/gcc11-pr105324.patch deleted file mode 100644 index 7657824..0000000 --- a/gcc11-pr105324.patch +++ /dev/null @@ -1,44 +0,0 @@ -libstdc++: Remove bogus assertion in std::from_chars [PR105324] - -I'm not sure what I was thinking when I added this assertion, maybe it -was supposed to be alignment == 1 (which is what the pmr::string actually -uses). The simplest fix is to just remove the assertion. - -The assertion is no longer enabled by default on trunk, but it's still -there for the --enablke-libstdcxx-debug build, and is still wrong. The -fix is needed on the gcc-11 branch. - -2022-04-21 Jonathan Wakely - - PR libstdc++/105324 - * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): - Remove assertion. - * testsuite/20_util/from_chars/pr105324.cc: New test. - ---- libstdc++-v3/src/c++17/floating_from_chars.cc -+++ libstdc++-v3/src/c++17/floating_from_chars.cc -@@ -101,7 +101,6 @@ namespace - return m_buf + std::__exchange(m_bytes, m_bytes + bytes); - - __glibcxx_assert(m_ptr == nullptr); -- __glibcxx_assert(alignment != 1); - - m_ptr = operator new(bytes); - m_bytes = bytes; ---- libstdc++-v3/testsuite/20_util/from_chars/pr105324.cc -+++ libstdc++-v3/testsuite/20_util/from_chars/pr105324.cc -@@ -0,0 +1,14 @@ -+// { dg-do run { target c++17 } } -+ -+#include -+#include -+ -+int main() -+{ -+ // PR libstdc++/105324 -+ // std::from_chars() assertion at floating_from_chars.cc:78 -+ std::string s(512, '1'); -+ s[1] = '.'; -+ long double d; -+ std::from_chars(s.data(), s.data() + s.size(), d); -+} diff --git a/sources b/sources index 8a79683..5ba9a7a 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.3.1-20220421.tar.xz) = de7eb63cf35f3334f2dd0e06a41d9a6f9e770679378b35a841afd86252f98a6fd8f36397981d94e6bb6ea4ce3e5fb74df580a4ba109ba96b518810286d25ca38 +SHA512 (gcc-11.3.1-20220421.tar.xz) = c631a8a990a6977b70a878c34a69c64dd49387edae0931ef64433cbf5f361ecec6a4118a9a5b1eab57b354eecea125297f721ddd25daebc2290749a7eae17af2 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 From 90d89021dc37987be68275b77ddf63b160cdddf2 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 7 Sep 2022 16:28:39 +0200 Subject: [PATCH 8/9] enable GDC on aarch64 This should help bootstrap GDC on aarch64 on F36+ where the GDC version shipped with gcc 12 requires a working GDC compiler to build itself. --- gcc.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc.spec b/gcc.spec index 89e8939..967f8fc 100644 --- a/gcc.spec +++ b/gcc.spec @@ -4,7 +4,7 @@ %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 2 +%global gcc_release 3 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -45,7 +45,7 @@ %else %global build_go 0 %endif -%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64 +%ifarch %{ix86} x86_64 %{arm} aarch64 %{mips} s390 s390x riscv64 %global build_d 1 %else %global build_d 0 @@ -3150,6 +3150,9 @@ end %endif %changelog +* Wed Sep 07 2022 Kalev Lember 11.3.1-3 +- enable GDC on aarch64 + * Thu Apr 21 2022 Jakub Jelinek 11.3.1-2 - update from releases/gcc-11-branch - PRs debug/105203, gcov-profile/105282, libstdc++/105324, target/105257 From edb1547eb139b0777102cf704db4824c025940aa Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 21 Nov 2022 11:37:29 +0100 Subject: [PATCH 9/9] 11.3.1-3 --- .gitignore | 1 + gcc.spec | 63 ++++++++++++++++++++++++++++++++++++++++---- gcc11-pr105331.patch | 33 ----------------------- sources | 2 +- 4 files changed, 60 insertions(+), 39 deletions(-) delete mode 100644 gcc11-pr105331.patch diff --git a/.gitignore b/.gitignore index 3bfbff8..5cfd263 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ /gcc-11.2.1-20220127.tar.xz /gcc-11.2.1-20220401.tar.xz /gcc-11.3.1-20220421.tar.xz +/gcc-11.3.1-20221121.tar.xz diff --git a/gcc.spec b/gcc.spec index 89e8939..d89b0d1 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20220421 -%global gitrev 1d3172725999deb0dca93ac70393ed9a0ad0da3f +%global DATE 20221121 +%global gitrev 643e61c61b308f9c572da4ccd5f730fb8ae7de1d %global gcc_version 11.3.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 2 +%global gcc_release 3 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -271,7 +271,6 @@ Patch14: gcc11-libgcc-link.patch Patch15: gcc11-pr101786.patch Patch16: gcc11-stringify-__VA_OPT__.patch Patch17: gcc11-stringify-__VA_OPT__-2.patch -Patch18: gcc11-pr105331.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -801,7 +800,6 @@ to NVidia PTX capable devices if available. %patch15 -p0 -b .pr101786~ %patch16 -p0 -b .stringify-__VA_OPT__~ %patch17 -p0 -b .stringify-__VA_OPT__-2~ -%patch18 -p0 -b .pr105331~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3150,6 +3148,61 @@ end %endif %changelog +* Mon Nov 21 2022 Jakub Jelinek 11.3.1-3 +- update from releases/gcc-11-branch + - PRs analyzer/105252, analyzer/105365, analyzer/105366, c++/65211, + c++/82980, c++/86193, c++/90107, c++/97296, c++/101442, c++/101698, + c++/102071, c++/102177, c++/102300, c++/102307, c++/102479, + c++/102629, c++/104066, c++/104142, c++/104646, c++/104669, + c++/105245, c++/105265, c++/105289, c++/105304, c++/105321, + c++/105386, c++/105398, c++/105725, c++/105761, c++/105774, + c++/105795, c++/105852, c++/105925, c++/106024, c++/106361, + c++/107358, c/41041, c/106016, c/106981, c/107001, d/106139, + d/106638, debug/106261, fortran/82868, fortran/100029, fortran/100040, + fortran/100097, fortran/100098, fortran/100132, fortran/100136, + fortran/100245, fortran/103413, fortran/103504, fortran/103693, + fortran/103694, fortran/104313, fortran/104849, fortran/105012, + fortran/105230, fortran/105243, fortran/105310, fortran/105633, + fortran/105691, fortran/105813, fortran/105954, fortran/106121, + fortran/106817, fortran/106857, fortran/106985, fortran/106986, + fortran/107054, ipa/100413, ipa/105600, ipa/105739, libgomp/106045, + libstdc++/65018, libstdc++/84110, libstdc++/93602, libstdc++/96592, + libstdc++/99290, libstdc++/100823, libstdc++/101709, libstdc++/102447, + libstdc++/103664, libstdc++/103848, libstdc++/103853, + libstdc++/103911, libstdc++/103992, libstdc++/104217, + libstdc++/104443, libstdc++/104602, libstdc++/104731, + libstdc++/105128, libstdc++/105284, libstdc++/105375, + libstdc++/105502, libstdc++/105671, libstdc++/105915, + libstdc++/106162, libstdc++/106248, libstdc++/106320, + libstdc++/106607, libstdc++/106695, lto/106334, lto/106540, + middle-end/103193, middle-end/104869, middle-end/104966, + middle-end/105140, middle-end/105998, middle-end/106027, + middle-end/106030, middle-end/106144, middle-end/106331, + middle-end/106492, preprocessor/97498, preprocessor/105732, + rtl-optimization/104637, rtl-optimization/105041, + rtl-optimization/105333, rtl-optimization/105559, + rtl-optimization/106032, rtl-optimization/106187, sanitizer/105396, + sanitizer/105729, target/96072, target/99184, target/99685, + target/101322, target/101891, target/102059, target/102146, + target/103197, target/103353, target/104257, target/104829, + target/105147, target/105162, target/105209, target/105292, + target/105339, target/105349, target/105463, target/105472, + target/105854, target/105879, target/105970, target/105981, + target/106017, target/106091, target/106355, target/106491, + target/106721, target/107061, target/107064, target/107183, + target/107248, target/107304, target/107364, target/107748, + testsuite/105095, testsuite/105266, testsuite/105433, + testsuite/106345, tree-optimization/103116, tree-optimization/105148, + tree-optimization/105163, tree-optimization/105173, + tree-optimization/105250, tree-optimization/105263, + tree-optimization/105312, tree-optimization/105368, + tree-optimization/105431, tree-optimization/105437, + tree-optimization/105528, tree-optimization/105618, + tree-optimization/105726, tree-optimization/105860, + tree-optimization/106112, tree-optimization/106131, + tree-optimization/106189, tree-optimization/106513, + tree-optimization/106892, tree-optimization/106934 + * Thu Apr 21 2022 Jakub Jelinek 11.3.1-2 - update from releases/gcc-11-branch - PRs debug/105203, gcov-profile/105282, libstdc++/105324, target/105257 diff --git a/gcc11-pr105331.patch b/gcc11-pr105331.patch deleted file mode 100644 index fa1a9d3..0000000 --- a/gcc11-pr105331.patch +++ /dev/null @@ -1,33 +0,0 @@ -2022-04-21 Jakub Jelinek - - PR target/105331 - * config/i386/i386.c (ix86_gimplify_va_arg): Mark va_arg_tmp - temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR - of it. - - * gcc.dg/pr105331.c: New test. - ---- gcc/config/i386/i386.c.jj 2022-04-12 09:20:07.566662842 +0200 -+++ gcc/config/i386/i386.c 2022-04-21 12:03:32.201951522 +0200 -@@ -4891,6 +4891,7 @@ ix86_gimplify_va_arg (tree valist, tree - { - int i, prev_size = 0; - tree temp = create_tmp_var (type, "va_arg_tmp"); -+ TREE_ADDRESSABLE (temp) = 1; - - /* addr = &temp; */ - t = build1 (ADDR_EXPR, build_pointer_type (type), temp); ---- gcc/testsuite/gcc.dg/pr105331.c.jj 2022-04-21 12:09:34.398906718 +0200 -+++ gcc/testsuite/gcc.dg/pr105331.c 2022-04-21 12:09:07.304283903 +0200 -@@ -0,0 +1,11 @@ -+/* PR target/105331 */ -+/* { dg-do compile } */ -+/* { dg-options "-O -Wuninitialized" } */ -+ -+#include -+ -+int -+foo (va_list *va) -+{ -+ return va_arg (*va, double _Complex); /* { dg-bogus "may be used uninitialized" } */ -+} diff --git a/sources b/sources index 5ba9a7a..32aa971 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.3.1-20220421.tar.xz) = c631a8a990a6977b70a878c34a69c64dd49387edae0931ef64433cbf5f361ecec6a4118a9a5b1eab57b354eecea125297f721ddd25daebc2290749a7eae17af2 +SHA512 (gcc-11.3.1-20221121.tar.xz) = c4e484b7cd8b54925cd420aa9d4a22d27ad1557b481c882e952ed65e7709cfc9c044111f2d194f06349d6510672e23b9d8c8da9f1ec070f453bb4ce74f885095 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7