diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1262fa5c864..d03450aae90 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,77 @@ +2021-02-24 Jakub Jelinek + + PR fortran/99226 + * omp-low.c (struct omp_context): Add teams_nested_p and + nonteams_nested_p members. + (scan_omp_target): Diagnose teams nested inside of target with other + directives strictly nested inside of the same target. + (check_omp_nesting_restrictions): Set ctx->teams_nested_p or + ctx->nonteams_nested_p as needed. + +2021-02-24 Vladimir N. Makarov + + PR inline-asm/99123 + * lra-constraints.c (uses_hard_regs_p): Don't use decompose_mem_address. + +2021-02-24 Hans-Peter Nilsson + + * config/cris/cris.c (cris_expand_prologue): Set + current_function_static_stack_size, if flag_stack_usage_info. + +2021-02-24 Pat Haugen + + * config/rs6000/rs6000.c (next_insn_prefixed_p): Rename. + (rs6000_final_prescan_insn): Adjust. + (rs6000_asm_output_opcode): Likewise. + +2021-02-24 Martin Sebor + + PR middle-end/97172 + * attribs.c (attr_access::free_lang_data): Clear attribute arg spec + from function arguments. + +2021-02-24 Tamar Christina + + PR tree-optimization/99220 + * tree-vect-slp.c (optimize_load_redistribution_1): Remove + node from cache when it's about to be deleted. + +2021-02-24 Jakub Jelinek + + PR tree-optimization/99225 + * fold-const.c (fold_binary_loc) : In (x & (1 << y)) != 0 + to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of + build_int_cst (..., 1). Formatting fixes. + +2021-02-24 Tamar Christina + + PR tree-optimization/99149 + * tree-vect-slp-patterns.c (vect_detect_pair_op): Don't recreate the + buffer. + (vect_slp_reset_pattern): Remove. + (complex_fma_pattern::matches): Remove call to vect_slp_reset_pattern. + (complex_mul_pattern::build, complex_fma_pattern::build, + complex_fms_pattern::build): Fix ref counts. + * tree-vect-slp.c (vect_free_slp_tree): Undo SLP only pattern relevancy + when node is being deleted. + (vect_match_slp_patterns_2): Correct result of cache hit on patterns. + (vect_schedule_slp): Invalidate SLP_TREE_REPRESENTATIVE of removed + stores. + * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize value. + +2021-02-24 Matthias Klose + + Revert: + 2020-12-07 Matthias Klose + + * genextract.c (print_header): Undefine ENABLE_RTL_CHECKING + and ENABLE_RTL_FLAG_CHECKING. + +2021-02-24 Richard Biener + + PR c/99224 + * builtins.c (fold_builtin_next_arg): Avoid NULL arg. + 2021-02-23 Peter Bergner * config/rs6000/mma.md (mma_assemble_pair): Rename from this... diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index bfa0d089ea9..14f79585846 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210224 +20210225 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index c979741f3ae..545f84bcd7a 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2021-02-24 Martin Sebor + + PR middle-end/97172 + * c-decl.c (free_attr_access_data): Clear attribute arg spec. + 2021-02-18 Jakub Jelinek PR c/99136 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ec49455777b..14667c9d4a0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,25 @@ +2021-02-24 Nathan Sidwell + + PR c++/98718 + * module.cc (ool): New indirection vector. + (loc_spans::maybe_propagate): Location is not optional. + (loc_spans::open): Likewise. Assert monotonically advancing. + (module_for_ordinary_loc): Use ool indirection vector. + (module_state::write_prepare_maps): Do not count empty macro + expansions. Elide empty spans. + (module_state::write_macro_maps): Skip empty expansions. + (ool_cmp): New qsort comparator. + (module_state::write): Create and destroy ool vector. + (name_pending_imports): Fix dump push/pop. + (preprocess_module): Likewise. Add more dumping. + (preprocessed_module): Likewise. + +2021-02-24 Iain Sandoe + + PR c++/96251 + * coroutines.cc (coro_common_keyword_context_valid_p): Suppress + error reporting when instantiating for a constexpr. + 2021-02-23 Nathan Sidwell PR c++/99208 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e280e1e6c62..91f35aac429 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,19 @@ +2021-02-24 Paul Thomas + + PR fortran/98342 + * trans-expr.c (gfc_conv_derived_to_class): Add optional arg. + 'derived_array' to hold the fixed, parmse expr in the case of + assumed rank formal arguments. Deal with optional arguments. + (gfc_conv_procedure_call): Null 'derived' array for each actual + argument. Add its address to the call to gfc_conv_derived_to_ + class. Access the 'data' field of scalar descriptors before + deallocating allocatable components. Also strip NOPs before the + calls to gfc_deallocate_alloc_comp. Use 'derived' array as the + input to gfc_deallocate_alloc_comp if it is available. + * trans.h : Include the optional argument 'derived_array' to + the prototype of gfc_conv_derived_to_class. The default value + is NULL_TREE. + 2021-02-23 Paul Thomas PR fortran/99124 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0c4b8245fa8..95f7993ba78 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,119 @@ +2021-02-24 Nathan Sidwell + + PR c++/98718 + * g++.dg/modules/pr98718_a.C: New. + * g++.dg/modules/pr98718_b.C: New. + +2021-02-24 Iain Sandoe + + * g++.dg/coroutines/co-await-void_type.C: Mark promise + final_suspend call as noexcept. + * g++.dg/coroutines/co-return-syntax-08-bad-return.C: Likewise. + * g++.dg/coroutines/co-return-syntax-10-movable.C: Likewise. + * g++.dg/coroutines/co-return-warning-1.C: Likewise. + * g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: Likewise. + * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: Likewise. + * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: Likewise. + * g++.dg/coroutines/coro-missing-gro.C: Likewise. + * g++.dg/coroutines/coro-missing-promise-yield.C: Likewise. + * g++.dg/coroutines/coro-missing-ret-value.C: Likewise. + * g++.dg/coroutines/coro-missing-ret-void.C: Likewise. + * g++.dg/coroutines/coro-missing-ueh.h: Likewise. + * g++.dg/coroutines/coro1-allocators.h: Likewise. + * g++.dg/coroutines/coro1-refs-and-ctors.h: Likewise. + * g++.dg/coroutines/coro1-ret-int-yield-int.h: Likewise. + * g++.dg/coroutines/pr94682-preview-this.C: Likewise. + * g++.dg/coroutines/pr94752.C: Likewise. + * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: Likewise. + * g++.dg/coroutines/pr94879-folly-1.C: Likewise. + * g++.dg/coroutines/pr94883-folly-2.C: Likewise. + * g++.dg/coroutines/pr95050.C: Likewise. + * g++.dg/coroutines/pr95345.C: Likewise. + * g++.dg/coroutines/pr95440.C: Likewise. + * g++.dg/coroutines/pr95591.C: Likewise. + * g++.dg/coroutines/pr95711.C: Likewise. + * g++.dg/coroutines/pr95813.C: Likewise. + * g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise. + * g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise. + * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Likewise. + * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: Likewise. + * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: Likewise. + * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: Likewise. + * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: Likewise. + * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: Likewise. + * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: Likewise. + * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Likewise. + * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise. + * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Likewise. + * g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise. + * g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise. + * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: Likewise. + * g++.dg/coroutines/torture/exceptions-test-0.C: Likewise. + * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise. + * g++.dg/coroutines/torture/func-params-04.C: Likewise. + * g++.dg/coroutines/torture/local-var-06-structured-binding.C: Likewise. + * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Likewise. + +2021-02-24 Jakub Jelinek + + PR fortran/99226 + * c-c++-common/gomp/pr99226.c: New test. + * gfortran.dg/gomp/pr99226.f90: New test. + +2021-02-24 Vladimir N. Makarov + + PR inline-asm/99123 + * gcc.target/i386/pr99123.c: New. + +2021-02-24 Hans-Peter Nilsson + + * gcc.dg/stack-usage-1.c: Adjust for CRIS. + +2021-02-24 Nathan Sidwell + + PR c++/99072 + * g++.dg/modules/pr99072.H: New. + +2021-02-24 Paul Thomas + + PR fortran/98342 + * gfortran.dg/assumed_rank_21.f90 : New test. + +2021-02-24 Martin Sebor + + PR middle-end/97172 + * gcc.dg/pr97172-2.c: New test. + +2021-02-24 Tamar Christina + + PR tree-optimization/99220 + * g++.dg/vect/pr99220.cc: New test. + +2021-02-24 Tamar Christina + + PR tree-optimization/99149 + * g++.dg/vect/pr99149.cc: Disabled on BE. + +2021-02-24 Iain Sandoe + + PR c++/96251 + * g++.dg/coroutines/pr96251.C: New test. + +2021-02-24 Jakub Jelinek + + PR tree-optimization/99225 + * gcc.c-torture/compile/pr99225.c: New test. + +2021-02-24 Tamar Christina + + PR tree-optimization/99149 + * g++.dg/vect/pr99149.cc: New test. + +2021-02-24 Richard Biener + + PR c/99224 + * gcc.dg/pr99224.c: New testcase. + 2021-02-23 Peter Bergner * gcc.target/powerpc/mma-builtin-4.c: Add tests for diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index c59b0a6a1f1..684c5e51025 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,15 @@ +2021-02-24 Nathan Sidwell + + PR c++/98718 + * include/line-map.h + * line-map.c + +2021-02-24 Nathan Sidwell + + PR c++/99072 + * init.c (read_original_filename): Expunge all evidence of the + original filename. + 2021-02-18 Nathan Sidwell PR c++/99023 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 0763765d9d8..9d03ff45d08 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,15 @@ +2021-02-24 Jakub Jelinek + + PR libgcc/99236 + * libgcc2.c (__powisf2, __powidf2, __powitf2, __powixf2): Perform + negation of m in unsigned type. + +2021-02-24 Christophe Lyon + Hau Hsu + + PR target/99157 + * config/arm/t-arm: Fix cmse support detection. + 2021-02-22 Michael Meissner * dfp-bit.c (BFP_TO_DFP): Fix a comment line that was too long. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7608861cffa..00b35f6d0c0 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,74 @@ +2021-02-24 Jonathan Wakely + + PR libstdc++/99261 + * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args + before value to be printed. + +2021-02-24 Patrick Palka + + * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): + Relax the condition that guards the printf code path to accept + F128_type as well as long double. + +2021-02-24 Cassio Neri + + * include/std/chrono (year_month_day_last:day): New + implementation. + +2021-02-24 Cassio Neri + + * include/std/chrono (year::is_leap): New implementation. + * testsuite/std/time/year/2.cc: New test. + +2021-02-24 Cassio Neri + + * include/std/chrono (year_month_day::_M_days_since_epoch): + New implementation. + * testsuite/std/time/year_month_day/4.cc: New test. + +2021-02-24 Cassio Neri + + * include/std/chrono (year_month_day::_S_from_days): New + implementation. + * testsuite/std/time/year_month_day/3.cc: New test. + +2021-02-24 Patrick Palka + + PR libstdc++/98384 + * testsuite/20_util/to_chars/long_double.cc: Include . + (test01): Simplify verifying the nearby values by using a + 2-iteration loop and a dedicated output buffer to check that the + nearby values are different. Factor out the printf-based + verification into a local function, and check that the leading + hex digits agree before comparing to the output of printf. Also + verify the output by round-tripping it through from_chars. + +2021-02-24 Jonathan Wakely + + PR libstdc++/98389 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars + symbols for long double arguments mangled as 'g'. + * config/os/gnu-linux/ldbl-extra.ver: Likewise. + * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise. + * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]: + Use -mabi=ibmlongdouble for floating_to_chars.cc. + * src/c++17/Makefile.in: Regenerate. + * src/c++17/floating_to_chars.cc (floating_type_traits_binary128): + New type defining type traits of IEEE binary128 format. + (floating_type_traits<__float128>): Define specialization. + (floating_type_traits): Define in terms of + floating_type_traits_binary128 when appropriate. + (floating_to_shortest_scientific): Handle __float128. + (sprintf_ld): New function template for printing a long double + or __ieee128 value using sprintf. + (__floating_to_chars_shortest, __floating_to_chars_precision): + Use sprintf_ld. + (to_chars): Define overloads for __float128. + +2021-02-24 Jonathan Wakely + + * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*. + 2021-02-23 Martin Sebor PR c++/99074