diff --git a/.gitignore b/.gitignore index dbccc8a..5cfd263 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,8 @@ /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 +/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 a310bcf..8cc9a18 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20211203 -%global gitrev e41308252e835ddedcabfd4a98240080c6583a43 -%global gcc_version 11.2.1 +%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 7 +%global gcc_release 4 %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 @@ -3148,6 +3148,170 @@ end %endif %changelog +* Mon Nov 21 2022 Jakub Jelinek 11.3.1-4 +- 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 + +* 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 + +* 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 +- 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 + - 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 +- 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, + 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-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-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-stringify-__VA_OPT__-2.patch b/gcc11-stringify-__VA_OPT__-2.patch index 987f738..5874bc1 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, +@@ -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 3a2a71f..101b026 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,10 @@ 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, +@@ -2023,6 +2061,24 @@ replace_args (cpp_reader *pfile, cpp_has paste_flag = tokens_buff_last_token_ptr (buff); } -- if (src->flags & PASTE_LEFT) + if (vaopt_tracker.stringify ()) + { + unsigned int count @@ -199,12 +198,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) - { - /* 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) + 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 a7e012b..32aa971 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20211203.tar.xz) = 3cf64d3af541b9e80a2d5dd95a1257afefda554cfa16b757a7f861701e3da2d6917dbb1f4cd74301ffaf45e92c441642b8c589a10698a9103a216620f0849626 +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 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