From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 6680A3858D35; Thu, 9 Dec 2021 00:17:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6680A3858D35 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r12-5850] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 0fb57034770aa20adced4d176f34ca611c2945bf X-Git-Newrev: 641ff2196fe3909bba852a5ac1d55e7cdab6d361 Message-Id: <20211209001704.6680A3858D35@sourceware.org> Date: Thu, 9 Dec 2021 00:17:04 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Dec 2021 00:17:04 -0000 https://gcc.gnu.org/g:641ff2196fe3909bba852a5ac1d55e7cdab6d361 commit r12-5850-g641ff2196fe3909bba852a5ac1d55e7cdab6d361 Author: GCC Administrator Date: Thu Dec 9 00:16:31 2021 +0000 Daily bump. Diff: --- gcc/ChangeLog | 112 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/c/ChangeLog | 24 +++++++++++ gcc/cp/ChangeLog | 40 +++++++++++++++++ gcc/d/ChangeLog | 47 ++++++++++++++++++++ gcc/fortran/ChangeLog | 17 ++++++++ gcc/testsuite/ChangeLog | 72 +++++++++++++++++++++++++++++++ include/ChangeLog | 9 ++++ libgcc/ChangeLog | 15 +++++++ libgomp/ChangeLog | 42 ++++++++++++++++++ libphobos/ChangeLog | 14 ++++++ libstdc++-v3/ChangeLog | 25 +++++++++++ 12 files changed, 418 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e8b67c8dc9..66c7532910d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,115 @@ +2021-12-08 Iain Sandoe + + * config/darwin.h (DARWIN_PIE_SPEC): Add -no_pie when + linking mdynamic-no-pic code on macOS > 10.7. + +2021-12-08 Dimitar Dimitrov + + * config/pru/pru.c (pru_section_type_flags): New function. + (TARGET_SECTION_TYPE_FLAGS): Wire it. + +2021-12-08 David Faust + + * config/bpf/bpf.c (handle_attr_preserve): Avoid calling + is_gimple_assign with a NULL pointer. + +2021-12-08 Martin Liska + + * profile-count.c (profile_count::dump): Add function + that can dump to a provided buffer. + (profile_probability::dump): Likewise. + * profile-count.h: Likewise. + * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): + Use dump_printf_loc infrastructure. + (tree_unswitch_outer_loop): Likewise. + (find_loop_guard): Likewise. + (hoist_guard): Likewise. + +2021-12-08 Chung-Lin Tang + + * gimplify.c (extract_base_bit_offset): Add 'tree *offsetp' parameter, + accomodate case where 'offset' return of get_inner_reference is + non-NULL. + (is_or_contains_p): Further robustify conditions. + (omp_target_reorder_clauses): In alloc/to/from sorting phase, also + move following GOMP_MAP_ALWAYS_POINTER maps along. Add new sorting + phase where we make sure pointers with an attach/detach map are ordered + correctly. + (gimplify_scan_omp_clauses): Add modifications to avoid creating + GOMP_MAP_STRUCT and associated alloc map for attach/detach maps. + +2021-12-08 Roger Sayle + + * config/nvptx/nvptx.md (*extend_trunc_2_qi, + *extend_trunc_2_hi, *extend_trunc_di2_si): New insns. + Use cvt to perform sign-extension of truncation in one step. + +2021-12-08 Chung-Lin Tang + + PR middle-end/92120 + * gimplify.c ("tree-hash-traits.h"): Add include. + (gimplify_scan_omp_clauses): Change struct_map_to_clause to type + hash_map *. Adjust struct map handling to handle + cases of *A and A->B expressions. Under !DECL_P case of + GOMP_CLAUSE_MAP handling, add STRIP_NOPS for indir_p case, add to + struct_deref_set for map(*ptr_to_struct) cases. Add MEM_REF case when + handling component_ref_p case. Add unshare_expr and gimplification + when created GOMP_MAP_STRUCT is not a DECL. Add code to add + firstprivate pointer for *pointer-to-struct case. + (gimplify_adjust_omp_clauses): Move GOMP_MAP_STRUCT removal code for + exit data directives code to earlier position. + * omp-low.c (lower_omp_target): + Handle GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and + GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION map kinds. + * tree-pretty-print.c (dump_omp_clause): Likewise. + +2021-12-08 Andrew Stubbs + Hafiz Abid Qadeer + + * dwarf2cfi.c (dw_stack_pointer_regnum): Change type to struct cfa_reg. + (dw_frame_pointer_regnum): Likewise. + (new_cfi_row): Use set_by_dwreg. + (get_cfa_from_loc_descr): Use set_by_dwreg. Support register spans. + handle DW_OP_bregx with DW_OP_breg{0-31}. Support DW_OP_lit*, + DW_OP_const*, DW_OP_minus, DW_OP_shl and DW_OP_plus. + (lookup_cfa_1): Use set_by_dwreg. + (def_cfa_0): Update for cfa_reg and support register spans. + (reg_save): Change sreg parameter to struct cfa_reg. Support register + spans. + (dwf_cfa_reg): New function. + (dwarf2out_flush_queued_reg_saves): Use dwf_cfa_reg instead of + dwf_regno. + (dwarf2out_frame_debug_def_cfa): Likewise. + (dwarf2out_frame_debug_adjust_cfa): Likewise. + (dwarf2out_frame_debug_cfa_offset): Likewise. Update reg_save usage. + (dwarf2out_frame_debug_cfa_register): Likewise. + (dwarf2out_frame_debug_expr): Likewise. + (create_pseudo_cfg): Use set_by_dwreg. + (initial_return_save): Use set_by_dwreg and dwf_cfa_reg, + (create_cie_data): Use dwf_cfa_reg. + (execute_dwarf2_frame): Use dwf_cfa_reg. + (dump_cfi_row): Use set_by_dwreg. + * dwarf2out.c (build_span_loc, build_breg_loc): New function. + (build_cfa_loc): Support register spans. + (build_cfa_aligned_loc): Update cfa_reg usage. + (convert_cfa_to_fb_loc_list): Use set_by_dwreg. + * dwarf2out.h (struct cfa_reg): New type. + (struct dw_cfa_location): Use struct cfa_reg. + (build_span_loc): New prototype. + +2021-12-08 Haochen Jiang + + PR target/100738 + * config/i386/sse.md + (*_blendv_not_ltint): + Add new define_insn_and_split. + +2021-12-08 Alexandre Oliva + + PR middle-end/103149 + * gimple-harden-conditionals.cc (detach_value): Use memory if + general regs won't do. + 2021-12-07 Martin Liska PR middle-end/103438 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index fdf0dacb4c2..6f8b77f403e 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20211208 +20211209 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index d7c5de5a4f9..fb2ef2a7304 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,27 @@ +2021-12-08 Chung-Lin Tang + + * c-parser.c (struct omp_dim): New struct type for use inside + c_parser_omp_variable_list. + (c_parser_omp_variable_list): Allow multiple levels of array and + component accesses in array section base-pointer expression. + (c_parser_omp_clause_to): Set 'allow_deref' to true in call to + c_parser_omp_var_list_parens. + (c_parser_omp_clause_from): Likewise. + * c-typeck.c (handle_omp_array_sections_1): Extend allowed range + of base-pointer expressions involving INDIRECT/MEM/ARRAY_REF and + POINTER_PLUS_EXPR. + (c_finish_omp_clauses): Extend allowed ranged of expressions + involving INDIRECT/MEM/ARRAY_REF and POINTER_PLUS_EXPR. + +2021-12-08 Chung-Lin Tang + + PR middle-end/92120 + * c-parser.c (c_parser_omp_clause_map): Set 'allow_deref' argument in + call to c_parser_omp_variable_list to 'true'. + * c-typeck.c (handle_omp_array_sections_1): Add strip of MEM_REF in + array base handling. + (c_finish_omp_clauses): Handle 'A->member' case in map clauses. + 2021-11-30 Thomas Schwinge * c-typeck.c (c_finish_omp_clauses): Remove "gang reduction on an diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ece8186beac..9a8e7fb3304 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,43 @@ +2021-12-08 Chung-Lin Tang + + * parser.c (struct omp_dim): New struct type for use inside + cp_parser_omp_var_list_no_open. + (cp_parser_omp_var_list_no_open): Allow multiple levels of array and + component accesses in array section base-pointer expression. + (cp_parser_omp_all_clauses): Set 'allow_deref' to true in call to + cp_parser_omp_var_list for to/from clauses. + * semantics.c (handle_omp_array_sections_1): Extend allowed range + of base-pointer expressions involving INDIRECT/MEM/ARRAY_REF and + POINTER_PLUS_EXPR. + (handle_omp_array_sections): Adjust pointer map generation of + references. + (finish_omp_clauses): Extend allowed ranged of expressions + involving INDIRECT/MEM/ARRAY_REF and POINTER_PLUS_EXPR. + +2021-12-08 Chung-Lin Tang + + PR middle-end/92120 + * cp-tree.h (finish_omp_target): New declaration. + (finish_omp_target_clauses): Likewise. + * parser.c (cp_parser_omp_clause_map): Adjust call to + cp_parser_omp_var_list_no_open to set 'allow_deref' argument to true. + (cp_parser_omp_target): Factor out code, adjust into calls to new + function finish_omp_target. + * pt.c (tsubst_expr): Add call to finish_omp_target_clauses for + OMP_TARGET case. + * semantics.c (handle_omp_array_sections_1): Add handling to create + 'this->member' from 'member' FIELD_DECL. Remove case of rejecting + 'this' when not in declare simd. + (handle_omp_array_sections): Likewise. + (finish_omp_clauses): Likewise. Adjust to allow 'this[]' in OpenMP + map clauses. Handle 'A->member' case in map clauses. Remove case of + rejecting 'this' when not in declare simd. + (struct omp_target_walk_data): New struct for walking over + target-directive tree body. + (finish_omp_target_clauses_r): New function for tree walk. + (finish_omp_target_clauses): New function. + (finish_omp_target): New function. + 2021-12-07 Marek Polacek PR c++/95009 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index fa5c5cf1e6a..370e33cfa36 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,50 @@ +2021-12-08 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 568496d5b. + * Make-lang.in (D_FRONTEND_OBJS): Add d/common-file.o, + d/common-outbuffer.o, d/common-string.o, d/file_manager.o, + d/importc.o. Remove d/root-outbuffer.o. + (d/common-%.o): New recipe. + * d-builtins.cc (build_frontend_type): Update for new front-end + interface. + (d_build_d_type_nodes): Set noreturn_type_node. + * d-codegen.cc (d_build_call): Don't call function if one of the + arguments is type 'noreturn'. + (build_vthis_function): Propagate TYPE_QUAL_VOLATILE from original + function type. + * d-frontend.cc (eval_builtin): Update signature. + (getTypeInfoType): Likewise. + (toObjFile): New function. + * d-gimplify.cc (d_gimplify_call_expr): Always evaluate arguments from + left to right. + * d-lang.cc (d_handle_option): Handle OPT_ftransition_in. + (d_parse_file): Don't generate D main if it is declared in user code. + * d-tree.h (CALL_EXPR_ARGS_ORDERED): Remove. + (enum d_tree_index): Add DTI_BOTTOM_TYPE. + (noreturn_type_node): New. + * decl.cc (apply_pragma_crt): Remove. + (DeclVisitor::visit): Update for new front-end interface. + (DeclVisitor::visit (PragmaDeclaration *)): Don't handle + crt_constructor and crt_destructor pragmas. + (DeclVisitor::visit (VarDeclaration *)): Don't generate declarations + of type 'noreturn'. + (DeclVisitor::visit (FuncDeclaration *)): Stop adding parameters when + 'noreturn' type has been encountered. + (get_symbol_decl): Set DECL_STATIC_CONSTRUCTOR and + DECL_STATIC_DESTRUCTOR on decl node if requested. + (aggregate_initializer_decl): Update for new front-end interface. + * expr.cc (ExprVisitor::visit (CallExp *)): Always use the 'this' + object as the result of calling any constructor function. + (ExprVisitor::visit): Update for new front-end interface. + * gdc.texi (Runtime Options): Document -fmain and -ftransition=in. + * lang.opt (ftransition=in): New option. + * modules.cc (get_internal_fn): Update for new front-end interface. + * types.cc (TypeVisitor::visit): Likewise. + (TypeVisitor::visit (TypeNoreturn *)): Return noreturn_type_node. + (TypeVisitor::visit (TypeFunction *)): Stop adding parameters when + 'notreturn' type has been encountered. Qualify function types that + return 'noreturn' as TYPE_QUAL_VOLATILE. + 2021-12-02 Iain Buclaw PR d/103520 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 4fb4f3c6b04..c16ff2c7067 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,20 @@ +2021-12-08 Harald Anlauf + + PR fortran/103609 + * symbol.c (gfc_sym_get_dummy_args): Catch NULL pointer + dereference. + +2021-12-08 Harald Anlauf + + PR fortran/103610 + * array.c (spec_dimen_size): Fix simplification of SHAPE: + dimensions must be non-negative. + +2021-12-08 Chung-Lin Tang + + * trans-openmp.c (gfc_trans_omp_array_section): Do not generate + GOMP_MAP_ALWAYS_POINTER map for main array maps of ARRAY_TYPE type. + 2021-12-07 Harald Anlauf PR fortran/103607 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aac6350535f..e02c0c8a311 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,75 @@ +2021-12-08 Harald Anlauf + + PR fortran/103609 + * gfortran.dg/pr103609.f90: New test. + +2021-12-08 Dimitar Dimitrov + + * gcc.target/pru/pru_irq_map.c: New test. + +2021-12-08 Harald Anlauf + + PR fortran/103610 + * gfortran.dg/shape_11.f90: New test. + +2021-12-08 Martin Liska + + * gcc.dg/loop-unswitch-1.c: Adjust test-case based on + dump_printf_loc. + * gcc.dg/loop-unswitch-2.c: Likewise. + * gcc.dg/loop-unswitch-3.c: Likewise. + * gcc.dg/loop-unswitch-4.c: Likewise. + * gcc.dg/loop-unswitch-5.c: Likewise. + +2021-12-08 Hans-Peter Nilsson + + * gcc.dg/sibcall-1.c, gcc.dg/sibcall-10.c, + gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, + gcc.dg/sibcall-4.c, gcc.dg/sibcall-9.c: Replace + attribute "noinline" with "noipa". + +2021-12-08 Chung-Lin Tang + + * c-c++-common/goacc/deep-copy-arrayofstruct.c: Adjust testcase. + * c-c++-common/gomp/target-enter-data-1.c: New testcase. + * c-c++-common/gomp/target-implicit-map-2.c: New testcase. + +2021-12-08 Roger Sayle + + * gcc.target/nvptx/exttrunc-2.c: New test case. + * gcc.target/nvptx/exttrunc-3.c: New test case. + * gcc.target/nvptx/exttrunc-4.c: New test case. + * gcc.target/nvptx/exttrunc-5.c: New test case. + * gcc.target/nvptx/exttrunc-6.c: New test case. + +2021-12-08 Roger Sayle + + * gcc.target/nvptx/exttrunc-1.c: New test case. + +2021-12-08 Chung-Lin Tang + + PR middle-end/92120 + * gcc.dg/gomp/target-3.c: New testcase. + * g++.dg/gomp/target-3.C: New testcase. + * g++.dg/gomp/target-lambda-1.C: New testcase. + * g++.dg/gomp/target-lambda-2.C: New testcase. + * g++.dg/gomp/target-this-1.C: New testcase. + * g++.dg/gomp/target-this-2.C: New testcase. + * g++.dg/gomp/target-this-3.C: New testcase. + * g++.dg/gomp/target-this-4.C: New testcase. + * g++.dg/gomp/target-this-5.C: New testcase. + * g++.dg/gomp/this-2.C: Adjust testcase. + +2021-12-08 Haochen Jiang + + PR target/100738 + * g++.target/i386/pr100738-1.C: New test. + +2021-12-08 Alexandre Oliva + + PR middle-end/103149 + * gcc.target/aarch64/pr103149.c: New. + 2021-12-07 Harald Anlauf PR fortran/103607 diff --git a/include/ChangeLog b/include/ChangeLog index 67c067254bf..13e5b7ef740 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,12 @@ +2021-12-08 Chung-Lin Tang + + PR middle-end/92120 + * gomp-constants.h (enum gomp_map_kind): + Add GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and + GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION map kinds. + (GOMP_MAP_POINTER_P): + Include GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION. + 2021-11-12 Chung-Lin Tang * gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_3): Define special bit macro. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 377f1fa6995..71e35b98f5f 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,18 @@ +2021-12-08 Iain Sandoe + + * config.host (*-*-darwin*): Add logic to build a shared + unwinder library for Darwin8-10. + * config/i386/t-darwin: Build legacy libgcc_s.1. + * config/rs6000/t-darwin: Likewise. + * config/t-darwin: Reorganise the EH fragments to place + them for inclusion in a shared EH lib. + * config/t-slibgcc-darwin: Build a legacy libgcc_s.1 and + the supporting pieces (all FAT libs). + * config/t-darwin-noeh: Removed. + * config/darwin-unwind.ver: New file. + * config/rs6000/t-darwin-ehs: New file. + * config/t-darwin-ehs: New file. + 2021-12-06 Nelson Chu * config/riscv/div.S: Add the hidden alias symbol for __udivdi3, and diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 6dc6a2ff25f..5f0b0961554 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,45 @@ +2021-12-08 Chung-Lin Tang + + * target.c (gomp_map_vars_existing): Make sure attached pointer is + not overwritten during cross-host/device copying. + (gomp_update): Likewise. + (gomp_exit_data): Likewise. + * testsuite/libgomp.c++/target-11.C: Adjust testcase. + * testsuite/libgomp.c++/target-12.C: Likewise. + * testsuite/libgomp.c++/target-15.C: Likewise. + * testsuite/libgomp.c++/target-16.C: Likewise. + * testsuite/libgomp.c++/target-17.C: Likewise. + * testsuite/libgomp.c++/target-21.C: Likewise. + * testsuite/libgomp.c++/target-23.C: Likewise. + * testsuite/libgomp.c/target-23.c: Likewise. + * testsuite/libgomp.c/target-29.c: Likewise. + * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase. + +2021-12-08 Chung-Lin Tang + + PR middle-end/92120 + * libgomp.h (gomp_attach_pointer): Add bool parameter. + * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer. + (goacc_enter_data_internal): Likewise. + * target.c (gomp_map_vars_existing): Update assert condition to + include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION. + (gomp_map_pointer): Add 'bool allow_zero_length_array_sections' + parameter, add support for mapping a pointer with NULL target. + (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections' + parameter, add support for attaching a pointer with NULL target. + (gomp_map_vars_internal): Update calls to gomp_map_pointer and + gomp_attach_pointer, add handling for + GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and + GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases. + * testsuite/libgomp.c++/target-23.C: New testcase. + * testsuite/libgomp.c++/target-lambda-1.C: New testcase. + * testsuite/libgomp.c++/target-lambda-2.C: New testcase. + * testsuite/libgomp.c++/target-this-1.C: New testcase. + * testsuite/libgomp.c++/target-this-2.C: New testcase. + * testsuite/libgomp.c++/target-this-3.C: New testcase. + * testsuite/libgomp.c++/target-this-4.C: New testcase. + * testsuite/libgomp.c++/target-this-5.C: New testcase. + 2021-12-04 Tobias Burnus * libgomp.texi (OpenMP 5.1): Update status. diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 6632404e979..70d63f0430a 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,17 @@ +2021-12-08 Iain Buclaw + + PR d/103558 + * libdruntime/MERGE: Merge upstream druntime 178c44ff. + * libdruntime/Makefile.am (DRUNTIME_DSOURCES_LINUX): Add + core/sys/linux/syscalls.d. + (DRUNTIME_DSOURCES_OPENBSD): Add core/sys/openbsd/pthread_np.d. + * libdruntime/Makefile.in: Regenerate. + * src/MERGE: Merge upstream phobos 574bf883b. + * src/Makefile.am (D_EXTRA_DFLAGS): Add -fpreview=fieldwise. + * src/Makefile.in: Regenerate. + * testsuite/libphobos.exceptions/assert_fail.d: Update test. + * testsuite/libphobos.betterc/test22336.d: New test. + 2021-12-02 Iain Buclaw * libdruntime/core/thread/osthread.d (callWithStackShell): Push all diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4e9825f1897..fa193c6c8b4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,28 @@ +2021-12-08 Jonathan Wakely + + * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release()): + Make shift width conditional on __double_word condition. + +2021-12-08 François Dumont + + * include/std/deque (erase_if): Use _GLIBCXX_STD_C container reference and + __niter_wrap to limit _GLIBCXX_DEBUG mode impact. + * include/std/vector (erase_if): Likewise. + +2021-12-08 Maged Michael + Jonathan Wakely + + * include/bits/c++config (_GLIBCXX_TSAN): Define macro + indicating that TSan is in use. + * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release): + Replace definition in primary template with explicit + specializations for _S_mutex and _S_atomic policies. + (_Sp_counted_base<_S_mutex>::_M_release): New specialization. + (_Sp_counted_base<_S_atomic>::_M_release): New specialization, + using a single atomic load to access both reference counts at + once. + (_Sp_counted_base::_M_release_last_use): New member function. + 2021-12-07 Tamar Christina Revert: