diff --git a/.gitignore b/.gitignore index afef67f..c33f299 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /gcc-11.0.0-20210130.tar.xz /gcc-11.0.0-20210210.tar.xz /gcc-11.0.0-20210225.tar.xz +/gcc-11.0.1-20210307.tar.xz diff --git a/gcc.spec b/gcc.spec index 0089508..1dda96c 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,6 +1,6 @@ -%global DATE 20210225 -%global gitrev 441dcf7e3bfd4aae42bb0d520cfc904fb14f84aa -%global gcc_version 11.0.0 +%global DATE 20210307 +%global gitrev e13870b7c083e39ab17cc827bab5cb45387e8f19 +%global gcc_version 11.0.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. @@ -119,7 +119,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}.20%{?dist} +Release: %{gcc_release}.1%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -271,7 +271,8 @@ Patch8: gcc11-foffload-default.patch Patch9: gcc11-Wno-format-security.patch Patch10: gcc11-rh1574936.patch Patch11: gcc11-d-shared-libphobos.patch -Patch12: gcc11-pr98338-workaround.patch +Patch12: gcc11-pr99378-revert.patch +Patch13: gcc11-pr99388.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -793,7 +794,8 @@ to NVidia PTX capable devices if available. %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ -%patch12 -p0 -b .pr98338-workaround~ +%patch12 -p0 -b .pr99378-revert~ +%patch13 -p0 -b .pr99388~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -808,7 +810,6 @@ to NVidia PTX capable devices if available. %patch109 -p1 -b .fortran-fdec-add-missing-indexes~ %endif -rm -f libgomp/testsuite/*/*task-detach* %ifarch %{arm} rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go %endif @@ -3096,6 +3097,32 @@ end %endif %changelog +* Sun Mar 7 2021 Jakub Jelinek 11.0.1-0.1 +- update from trunk + - PRs ada/98996, ada/99020, ada/99095, ada/99264, analyzer/96374, + analyzer/99193, bootstrap/92002, bootstrap/98590, c++/82959, + c++/88146, c++/90333, c++/94521, c++/95451, c++/95615, c++/95616, + c++/95675, c++/95822, c++/96078, c++/96330, c++/96443, c++/96474, + c++/96960, c++/97034, c++/97587, c++/98118, c++/98318, c++/98810, + c++/98990, c++/99009, c++/99103, c++/99120, c++/99166, c++/99170, + c++/99176, c++/99213, c++/99245, c++/99251, c++/99287, c++/99294, + c++/99344, c++/99362, c++/99365, c++/99374, c++/99377, c++/99389, + c/99137, c/99275, c/99304, c/99323, c/99324, c/99325, c/99363, + d/99337, debug/66668, debug/99090, debug/99319, fortran/57871, + fortran/99300, fortran/99303, fortran/99355, gcov-profile/97461, + gcov-profile/99105, gcov-profile/99385, gcov-profile/99406, ipa/98078, + ipa/98338, libbacktrace/98818, libfortran/81986, libfortran/99218, + libgomp/98738, libstdc++/99265, libstdc++/99270, libstdc++/99301, + libstdc++/99382, libstdc++/99396, middle-end/93235, middle-end/94655, + middle-end/95757, middle-end/96963, middle-end/97172, + middle-end/97855, middle-end/99276, middle-end/99281, + middle-end/99295, middle-end/99322, other/99288, + rtl-optimization/99376, target/44107, target/48097, target/95798, + target/98996, target/99085, target/99234, target/99271, target/99279, + target/99313, target/99321, target/99381, testsuite/99233, + tree-optimization/80635, tree-optimization/99253 +- fix debug info for __fp16 constants (PR debug/99388) + * Thu Feb 25 2021 Jakub Jelinek 11.0.0-0.20 - update from trunk - PRs analyzer/94596, analyzer/98969, analyzer/99196, c++/94034, c++/94546, diff --git a/gcc11-pr98338-workaround.patch b/gcc11-pr98338-workaround.patch deleted file mode 100644 index 0c8e248..0000000 --- a/gcc11-pr98338-workaround.patch +++ /dev/null @@ -1,17 +0,0 @@ -2020-12-17 Jakub Jelinek - - PR bootstrap/98338 - * range-op.cc (operator_plus::op2_range): Tail-call op1_range - to work-around ICF profile merging ICE during profiledbootstrap. - ---- gcc/range-op.cc.jj 2020-12-17 16:06:39.789526868 +0100 -+++ gcc/range-op.cc 2020-12-17 16:19:18.127240700 +0100 -@@ -950,7 +950,7 @@ operator_plus::op2_range (irange &r, tre - const irange &lhs, - const irange &op1) const - { -- return range_op_handler (MINUS_EXPR, type)->fold_range (r, type, lhs, op1); -+ return op1_range (r, type, lhs, op1); - } - - diff --git a/gcc11-pr99378-revert.patch b/gcc11-pr99378-revert.patch new file mode 100644 index 0000000..bd043cb --- /dev/null +++ b/gcc11-pr99378-revert.patch @@ -0,0 +1,21 @@ +Revert: +2021-03-05 Vladimir N. Makarov + + PR target/99378 + * lra-constraints.c (process_address_1): Skip decomposing address + for asm insn operand with unknown constraint. + +--- gcc/lra-constraints.c ++++ gcc/lra-constraints.c +@@ -3450,9 +3450,8 @@ process_address_1 (int nop, bool check_only_p, + i.e. bcst_mem_operand in i386 backend. */ + else if (MEM_P (mem) + && !(INSN_CODE (curr_insn) < 0 +- && (cn == CONSTRAINT__UNKNOWN +- || (get_constraint_type (cn) == CT_FIXED_FORM +- && constraint_satisfied_p (op, cn))))) ++ && get_constraint_type (cn) == CT_FIXED_FORM ++ && constraint_satisfied_p (op, cn))) + decompose_mem_address (&ad, mem); + else if (GET_CODE (op) == SUBREG + && MEM_P (SUBREG_REG (op))) diff --git a/gcc11-pr99388.patch b/gcc11-pr99388.patch new file mode 100644 index 0000000..4ecfdc0 --- /dev/null +++ b/gcc11-pr99388.patch @@ -0,0 +1,92 @@ +2021-03-04 Jakub Jelinek + + PR debug/99388 + * dwarf2out.c (insert_float): Change return type from void to + unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size. + (mem_loc_descriptor, loc_descriptor, add_const_value_attribute): + Adjust callers. + +--- gcc/dwarf2out.c.jj 2021-03-03 09:53:55.391191719 +0100 ++++ gcc/dwarf2out.c 2021-03-04 15:51:23.174396552 +0100 +@@ -3825,7 +3825,7 @@ static void add_data_member_location_att + static bool add_const_value_attribute (dw_die_ref, rtx); + static void insert_int (HOST_WIDE_INT, unsigned, unsigned char *); + static void insert_wide_int (const wide_int &, unsigned char *, int); +-static void insert_float (const_rtx, unsigned char *); ++static unsigned insert_float (const_rtx, unsigned char *); + static rtx rtl_for_decl_location (tree); + static bool add_location_or_const_value_attribute (dw_die_ref, tree, bool); + static bool tree_add_const_value_attribute (dw_die_ref, tree); +@@ -16292,11 +16292,12 @@ mem_loc_descriptor (rtx rtl, machine_mod + scalar_float_mode float_mode = as_a (mode); + unsigned int length = GET_MODE_SIZE (float_mode); + unsigned char *array = ggc_vec_alloc (length); ++ unsigned int elt_size = insert_float (rtl, array); + +- insert_float (rtl, array); + mem_loc_result->dw_loc_oprnd2.val_class = dw_val_class_vec; +- mem_loc_result->dw_loc_oprnd2.v.val_vec.length = length / 4; +- mem_loc_result->dw_loc_oprnd2.v.val_vec.elt_size = 4; ++ mem_loc_result->dw_loc_oprnd2.v.val_vec.length ++ = length / elt_size; ++ mem_loc_result->dw_loc_oprnd2.v.val_vec.elt_size = elt_size; + mem_loc_result->dw_loc_oprnd2.v.val_vec.array = array; + } + } +@@ -16866,11 +16867,11 @@ loc_descriptor (rtx rtl, machine_mode mo + { + unsigned int length = GET_MODE_SIZE (smode); + unsigned char *array = ggc_vec_alloc (length); ++ unsigned int elt_size = insert_float (rtl, array); + +- insert_float (rtl, array); + loc_result->dw_loc_oprnd2.val_class = dw_val_class_vec; +- loc_result->dw_loc_oprnd2.v.val_vec.length = length / 4; +- loc_result->dw_loc_oprnd2.v.val_vec.elt_size = 4; ++ loc_result->dw_loc_oprnd2.v.val_vec.length = length / elt_size; ++ loc_result->dw_loc_oprnd2.v.val_vec.elt_size = elt_size; + loc_result->dw_loc_oprnd2.v.val_vec.array = array; + } + } +@@ -19689,7 +19690,7 @@ insert_wide_int (const wide_int &val, un + + /* Writes floating point values to dw_vec_const array. */ + +-static void ++static unsigned + insert_float (const_rtx rtl, unsigned char *array) + { + long val[4]; +@@ -19699,11 +19700,19 @@ insert_float (const_rtx rtl, unsigned ch + real_to_target (val, CONST_DOUBLE_REAL_VALUE (rtl), mode); + + /* real_to_target puts 32-bit pieces in each long. Pack them. */ ++ if (GET_MODE_SIZE (mode) < 4) ++ { ++ gcc_assert (GET_MODE_SIZE (mode) == 2); ++ insert_int (val[0], 2, array); ++ return 2; ++ } ++ + for (i = 0; i < GET_MODE_SIZE (mode) / 4; i++) + { + insert_int (val[i], 4, array); + array += 4; + } ++ return 4; + } + + /* Attach a DW_AT_const_value attribute for a variable or a parameter which +@@ -19752,9 +19761,10 @@ add_const_value_attribute (dw_die_ref di + scalar_float_mode mode = as_a (GET_MODE (rtl)); + unsigned int length = GET_MODE_SIZE (mode); + unsigned char *array = ggc_vec_alloc (length); ++ unsigned int elt_size = insert_float (rtl, array); + +- insert_float (rtl, array); +- add_AT_vec (die, DW_AT_const_value, length / 4, 4, array); ++ add_AT_vec (die, DW_AT_const_value, length / elt_size, elt_size, ++ array); + } + return true; + diff --git a/sources b/sources index 5301735..cd3423a 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-11.0.0-20210225.tar.xz) = 9aad03aa5dcc198fda4c465021ac4a0d62012aefdd1fdfa1019aaa8fabfe812bd82aa66997ddd219a7388881b5f2d24d9dd8eb754d7dfeae159af0ceeeef851b +SHA512 (gcc-11.0.1-20210307.tar.xz) = 1efa50991f55de59270af6ff134fc1818ca23e30bdc064f79916e358e46daf301a8d2d3e1afcde58a00a521e8bc2136f8cc5f21c5e05ccd80fa8e5c7e9324e9b 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 dc695f2..a0fe80c 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.0.0-$d/ $1 | xz -9e > gcc-11.0.0-$d.tar.xz +git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.0.1-$d/ $1 | xz -9e > gcc-11.0.1-$d.tar.xz rm -rf gcc-dir.tmp