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