From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 5D75A385C40F; Fri, 16 Jul 2021 00:17:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D75A385C40F 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-2342] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: c031ea2782a1873eee5ba82fb114cd87ff831412 X-Git-Newrev: d97d71a1989e9ee8e1b8563b351c42b7732da108 Message-Id: <20210716001703.5D75A385C40F@sourceware.org> Date: Fri, 16 Jul 2021 00:17:03 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jul 2021 00:17:03 -0000 https://gcc.gnu.org/g:d97d71a1989e9ee8e1b8563b351c42b7732da108 commit r12-2342-gd97d71a1989e9ee8e1b8563b351c42b7732da108 Author: GCC Administrator Date: Fri Jul 16 00:16:25 2021 +0000 Daily bump. Diff: --- ChangeLog | 4 ++ gcc/ChangeLog | 152 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 148 ++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 6 ++ gcc/c/ChangeLog | 6 ++ gcc/cp/ChangeLog | 12 ++++ gcc/testsuite/ChangeLog | 125 +++++++++++++++++++++++++++++++++++++++ libgcc/ChangeLog | 6 ++ libstdc++-v3/ChangeLog | 22 +++++++ 10 files changed, 482 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c1520f2489f..65e6a94e2bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2021-07-15 Trevor Saunders + + * MAINTAINERS: Add myself to DCO section. + 2021-07-09 Iain Sandoe * configure: Regenerate. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6c88f20c0e..47772d9ff44 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,155 @@ +2021-07-15 Uroš Bizjak + + PR target/101346 + * config/i386/i386.h (VALID_SSE_REG_MODE): Add TDmode. + (VALID_INT_MODE_P): Add SDmode and DDmode. + Add TDmode for TARGET_64BIT. + (VALID_DFP_MODE_P): Remove. + * config/i386/i386.c (ix86_hard_regno_mode_ok): + Do not use VALID_DFP_MODE_P. + +2021-07-15 Andrew MacLeod + + * gimple-range-fold.cc (adjust_pointer_diff_expr): Use + gimple_range_type. + (fold_using_range::fold_stmt): Ditto. + (fold_using_range::range_of_range_op): Ditto. + (fold_using_range::range_of_phi): Ditto. + (fold_using_range::range_of_call): Ditto. + (fold_using_range::range_of_builtin_ubsan_call): Ditto. + (fold_using_range::range_of_builtin_call): Ditto. + (fold_using_range::range_of_cond_expr): Ditto. + * gimple-range-fold.h (gimple_range_type): New. + +2021-07-15 Martin Sebor + + PR middle-end/97027 + * tree-ssa-strlen.c (handle_assign): New function. + (maybe_warn_overflow): Add argument. + (nonzero_bytes_for_type): New function. + (count_nonzero_bytes): Handle more tree types. Call + nonzero_bytes_for_tye. + (count_nonzero_bytes): Handle types. + (handle_store): Handle stores from function calls. + (strlen_check_and_optimize_call): Move code to handle_assign. Call + it for assignments from function calls. + +2021-07-15 David Malcolm + + PR analyzer/95006 + PR analyzer/94713 + PR analyzer/94714 + * doc/invoke.texi: Add -Wanalyzer-use-of-uninitialized-value. + +2021-07-15 David Malcolm + + * doc/invoke.texi (-fdump-analyzer-exploded-paths): New. + +2021-07-15 Martin Sebor + + PR c/101289 + PR c/97548 + * fold-const.c (operand_compare::operand_equal_p): Handle OEP_DECL_NAME. + (operand_compare::verify_hash_value): Same. + * tree-core.h (OEP_DECL_NAME): New. + +2021-07-15 Martin Jambor + + * profile-count.h (profile_count::value): Change the return type to + uint64_t. + * gimple-pretty-print.c (dump_gimple_bb_header): Adjust print + statement. + * tree-cfg.c (dump_function_to_file): Likewise. + +2021-07-15 Bill Schmidt + + PR target/101129 + * config/rs6000/rs6000-p8swap.c (has_part_mult): New. + (rs6000_analyze_swaps): Insns containing a subreg of a mult are + not swappable. + +2021-07-15 Richard Biener + + * tree-vectorizer.h (vect_gen_while): Match up with + vect_gen_while_not. + * tree-vect-stmts.c (vect_gen_while): Adjust API to that + of vect_gen_while_not. + (vect_gen_while_not): Adjust. + * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Likewise. + +2021-07-15 Aldy Hernandez + + * gimple-range-cache.cc (non_null_ref::adjust_range): New. + (ranger_cache::range_of_def): Call adjust_range. + (ranger_cache::entry_range): Same. + * gimple-range-cache.h (non_null_ref::adjust_range): New. + * gimple-range.cc (gimple_ranger::range_of_expr): Call + adjust_range. + (gimple_ranger::range_on_entry): Same. + +2021-07-15 Tamar Christina + + Revert: + 2021-07-14 Tamar Christina + + * config/arm/neon.md (dot_prod): Drop statements. + +2021-07-15 Tamar Christina + + Revert: + 2021-07-14 Tamar Christina + + * config/aarch64/aarch64-simd-builtins.def (udot, sdot): Rename to... + (sdot_prod, udot_prod): ...These. + * config/aarch64/aarch64-simd.md (dot_prod): Remove. + (aarch64_dot): Rename to... + (dot_prod): ...This. + * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32): + Update builtins. + +2021-07-15 Jakub Jelinek + + PR middle-end/101437 + * gimplify.c (gimplify_expr): Throw away volatile reads from empty + types even if they have non-BLKmode TYPE_MODE. + +2021-07-15 Richard Biener + + PR driver/101383 + * gcc.c (process_command): Process -gtoggle like process_options + would after parsing options. + +2021-07-15 Trevor Saunders + + * cfgexpand.c (expand_asm_loc): Adjust. + (expand_asm_stmt): Likewise. + * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Likewise. + * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise. + * config/arm/arm.c (thumb1_md_asm_adjust): Likewise. + * config/avr/avr.c (avr_md_asm_adjust): Likewise. + * config/cris/cris.c (cris_md_asm_adjust): Likewise. + * config/i386/i386.c (ix86_md_asm_adjust): Likewise. + * config/mn10300/mn10300.c (mn10300_md_asm_adjust): Likewise. + * config/nds32/nds32.c (nds32_md_asm_adjust): Likewise. + * config/pdp11/pdp11.c (pdp11_md_asm_adjust): Likewise. + * config/rs6000/rs6000.c (rs6000_md_asm_adjust): Likewise. + * config/s390/s390.c (s390_md_asm_adjust): Likewise. + * config/vax/vax.c (vax_md_asm_adjust): Likewise. + * config/visium/visium.c (visium_md_asm_adjust): Likewise. + * doc/tm.texi: Regenerate. + * target.def: Add location argument to md_asm_adjust. + +2021-07-15 Trevor Saunders + + * tree-diagnostic.c (diagnostic_report_current_function): Use the + diagnostic's location, not input_location. + +2021-07-15 Trevor Saunders + + * cfgexpand.c (tree_conflicts_with_clobbers_p): Pass location to + diagnostics. + (expand_asm_stmt): Likewise. + 2021-07-14 Peter Bergner * config/rs6000/rs6000.c (adjacent_mem_locations): Return the lower diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 9070a2a21d5..16244c60afd 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210715 +20210716 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index f0b2d966a3e..e6bd95c31e3 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,151 @@ +2021-07-15 David Malcolm + + * svalue.h (is_a_helper ::test): Make + param and template param const. + (is_a_helper ::test): Likewise. + (is_a_helper ::test): Likewise. + (is_a_helper ::test): Likewise. + +2021-07-15 David Malcolm + + PR analyzer/95006 + PR analyzer/94713 + PR analyzer/94714 + * analyzer.cc (maybe_reconstruct_from_def_stmt): Split out + GIMPLE_ASSIGN case into... + (get_diagnostic_tree_for_gassign_1): New. + (get_diagnostic_tree_for_gassign): New. + * analyzer.h (get_diagnostic_tree_for_gassign): New decl. + * analyzer.opt (Wanalyzer-write-to-string-literal): New. + * constraint-manager.cc (class svalue_purger): New. + (constraint_manager::purge_state_involving): New. + * constraint-manager.h + (constraint_manager::purge_state_involving): New. + * diagnostic-manager.cc (saved_diagnostic::supercedes_p): New. + (dedupe_winners::handle_interactions): New. + (diagnostic_manager::emit_saved_diagnostics): Call it. + * diagnostic-manager.h (saved_diagnostic::supercedes_p): New decl. + * engine.cc (impl_region_model_context::warn): Convert return type + to bool. Return false if the diagnostic isn't saved. + (impl_region_model_context::purge_state_involving): New. + (impl_sm_context::get_state): Use NULL ctxt when querying old + rvalue. + (impl_sm_context::set_next_state): Use new sval when querying old + state. + (class dump_path_diagnostic): Move to region-model.cc + (exploded_node::on_stmt): Move to on_stmt_pre and on_stmt_post. + Remove call to purge_state_involving. + (exploded_node::on_stmt_pre): New, based on the above. Move most + of it to region_model::on_stmt_pre. + (exploded_node::on_stmt_post): Likewise, moving to + region_model::on_stmt_post. + (class stale_jmp_buf): Fix parent class to use curiously recurring + template pattern. + (feasibility_state::maybe_update_for_edge): Call on_call_pre and + on_call_post on gcalls. + * exploded-graph.h (impl_region_model_context::warn): Return bool. + (impl_region_model_context::purge_state_involving): New decl. + (exploded_node::on_stmt_pre): New decl. + (exploded_node::on_stmt_post): New decl. + * pending-diagnostic.h (pending_diagnostic::use_of_uninit_p): New. + (pending_diagnostic::supercedes_p): New. + * program-state.cc (sm_state_map::get_state): Inherit state for + conjured_svalue as well as initial_svalue. + (sm_state_map::purge_state_involving): Also support SK_CONJURED. + * region-model-impl-calls.cc (call_details::get_uncertainty): + Handle m_ctxt being NULL. + (call_details::get_or_create_conjured_svalue): New. + (region_model::impl_call_fgets): New. + (region_model::impl_call_fread): New. + * region-model-manager.cc + (region_model_manager::get_or_create_initial_value): Return an + uninitialized poisoned value for regions that can't have initial + values. + * region-model-reachability.cc + (reachable_regions::mark_escaped_clusters): Handle ctxt being + NULL. + * region-model.cc (region_to_value_map::purge_state_involving): New. + (poisoned_value_diagnostic::use_of_uninit_p): New. + (poisoned_value_diagnostic::emit): Handle POISON_KIND_UNINIT. + (poisoned_value_diagnostic::describe_final_event): Likewise. + (region_model::check_for_poison): New. + (region_model::on_assignment): Call it. + (class dump_path_diagnostic): Move here from engine.cc. + (region_model::on_stmt_pre): New, based on exploded_node::on_stmt. + (region_model::on_call_pre): Move the setting of the LHS to a + conjured svalue to before the checks for specific functions. + Handle "fgets", "fgets_unlocked", and "fread". + (region_model::purge_state_involving): New. + (region_model::handle_unrecognized_call): Handle ctxt being NULL. + (region_model::get_rvalue): Call check_for_poison. + (selftest::test_stack_frames): Use NULL for context when getting + uninitialized rvalue. + (selftest::test_alloca): Likewise. + * region-model.h (region_to_value_map::purge_state_involving): New + decl. + (call_details::get_or_create_conjured_svalue): New decl. + (region_model::on_stmt_pre): New decl. + (region_model::purge_state_involving): New decl. + (region_model::impl_call_fgets): New decl. + (region_model::impl_call_fread): New decl. + (region_model::check_for_poison): New decl. + (region_model_context::warn): Return bool. + (region_model_context::purge_state_involving): New. + (noop_region_model_context::warn): Return bool. + (noop_region_model_context::purge_state_involving): New. + (test_region_model_context:: warn): Return bool. + * region.cc (region::get_memory_space): New. + (region::can_have_initial_svalue_p): New. + (region::involves_p): New. + * region.h (enum memory_space): New. + (region::get_memory_space): New decl. + (region::can_have_initial_svalue_p): New decl. + (region::involves_p): New decl. + * sm-malloc.cc (use_after_free::supercedes_p): New. + * store.cc (binding_cluster::purge_state_involving): New. + (store::purge_state_involving): New. + * store.h (class symbolic_binding): New forward decl. + (binding_key::dyn_cast_symbolic_binding): New. + (symbolic_binding::dyn_cast_symbolic_binding): New. + (binding_cluster::purge_state_involving): New. + (store::purge_state_involving): New. + * svalue.cc (svalue::can_merge_p): Reject attempts to merge + poisoned svalues with other svalues, so that we identify + paths in which a variable is conditionally uninitialized. + (involvement_visitor::visit_conjured_svalue): New. + (svalue::involves_p): Also handle SK_CONJURED. + (poison_kind_to_str): Handle POISON_KIND_UNINIT. + (poisoned_svalue::maybe_fold_bits_within): New. + * svalue.h (enum poison_kind): Add POISON_KIND_UNINIT. + (poisoned_svalue::maybe_fold_bits_within): New decl. + +2021-07-15 David Malcolm + + * analyzer.opt (fdump-analyzer-exploded-paths): New. + * diagnostic-manager.cc + (diagnostic_manager::emit_saved_diagnostic): Implement it. + * engine.cc (exploded_path::dump_to_pp): Add ext_state param and + use it to dump states if non-NULL. + (exploded_path::dump): Likewise. + (exploded_path::dump_to_file): New. + * exploded-graph.h (exploded_path::dump_to_pp): Add ext_state + param. + (exploded_path::dump): Likewise. + (exploded_path::dump): Likewise. + (exploded_path::dump_to_file): New. + +2021-07-15 David Malcolm + + * analyzer.cc (fixup_tree_for_diagnostic_1): Use DECL_DEBUG_EXPR + if it's available. + * engine.cc (readability): Likewise. + +2021-07-15 David Malcolm + + * state-purge.cc (self_referential_phi_p): New. + (state_purge_per_ssa_name::process_point): Don't purge an SSA name + at its def-stmt if the def-stmt is self-referential. + 2021-07-07 David Malcolm * diagnostic-manager.cc (null_assignment_sm_context::get_state): diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index f98bf2b208f..817f4c4079a 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2021-07-15 Martin Sebor + + PR c/101289 + PR c/97548 + * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME. + 2021-07-14 Jason Merrill * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index ef6f4adf5a7..a19080619db 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2021-07-15 Martin Sebor + + PR c/101289 + PR c/97548 + * c-decl.c (get_parm_array_spec): Strip nops. + 2021-07-06 Martin Sebor * c-objc-common.c (c_tree_printer): Remove support for %G and %K. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a80d236ba9a..0e2139ae470 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,15 @@ +2021-07-15 Jakub Jelinek + + PR c++/101443 + * cp-gimplify.c (cp_fold): For comparisons with NULLPTR_TYPE + operands, fold them right away to true or false. + +2021-07-15 Jason Merrill + + PR c++/101095 + * cp-objcp-common.c (cp_common_init_ts): Mark types as types. + (cp_tree_size): Remove redundant entries. + 2021-07-14 Patrick Palka PR c++/88252 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 944639a95df..7a9a29ea2b2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,128 @@ +2021-07-15 Uroš Bizjak + + PR target/101346 + * gcc.target/i386/pr101346.c: New test. + +2021-07-15 Martin Sebor + + PR middle-end/97027 + * gcc.dg/Wstringop-overflow-15.c: Remove an xfail. + * gcc.dg/Wstringop-overflow-47.c: Adjust xfails. + * gcc.dg/torture/pr69170.c: Avoid valid warnings. + * gcc.dg/torture/pr70025.c: Prune out a false positive. + * gcc.dg/vect/pr97769.c: Initialize a loop control variable. + * gcc.target/i386/pr92658-avx512bw-trunc.c: Increase buffer size + to avoid overflow. + * gcc.target/i386/pr92658-avx512f.c: Same. + * gcc.dg/Wstringop-overflow-68.c: New test. + * gcc.dg/Wstringop-overflow-69.c: New test. + * gcc.dg/Wstringop-overflow-70.c: New test. + * gcc.dg/Wstringop-overflow-71.c: New test. + * gcc.dg/strlenopt-95.c: New test. + +2021-07-15 David Malcolm + + PR analyzer/95006 + PR analyzer/94713 + PR analyzer/94714 + * g++.dg/analyzer/pr93212.C: Update location of warning. + * g++.dg/analyzer/pr94011.C: Add + -Wno-analyzer-use-of-uninitialized-value. + * g++.dg/analyzer/pr94503.C: Likewise. + * gcc.dg/analyzer/clobbers-1.c: Convert "f" from a local to a + param to avoid uninitialized warning. + * gcc.dg/analyzer/data-model-1.c (test_12): Add test for + uninitialized value on result of alloca. + (test_12a): Add expected warning. + (test_12c): Likewise. + (test_19): Likewise. + (test_29b): Likewise. + (test_29c): Likewise. + (test_37): Remove xfail. + (test_37a): Likewise. + * gcc.dg/analyzer/data-model-20.c: Add warning about leak. + * gcc.dg/analyzer/explode-2.c: Remove params; add + -Wno-analyzer-too-complex, -Wno-analyzer-malloc-leak, and xfails. + Initialize the locals. + * gcc.dg/analyzer/explode-2a.c: Initialize the locals. Add + expected leak. + * gcc.dg/analyzer/fgets-1.c: New test. + * gcc.dg/analyzer/fread-1.c: New test. + * gcc.dg/analyzer/malloc-1.c (test_16): Add expected warning. + (test_40): Likewise. + * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Check for + uninitialized padding. + * gcc.dg/analyzer/pr93355-localealias-feasibility.c (fread): New + decl. + (read_alias_file): Call it. + * gcc.dg/analyzer/pr94047.c: Add expected warnings. + * gcc.dg/analyzer/pr94851-2.c: Likewise. + * gcc.dg/analyzer/pr96841.c: Convert local to a param. + * gcc.dg/analyzer/pr98628.c: Likewise. + * gcc.dg/analyzer/pr99042.c: Updated expected location of leak + diagnostics. + * gcc.dg/analyzer/symbolic-1.c: Add expected warnings. + * gcc.dg/analyzer/symbolic-7.c: Likewise. + * gcc.dg/analyzer/torture/pr93649.c: Add expected warning. Skip + with -fno-fat-lto-objects. + * gcc.dg/analyzer/uninit-1.c: New test. + * gcc.dg/analyzer/uninit-2.c: New test. + * gcc.dg/analyzer/uninit-3.c: New test. + * gcc.dg/analyzer/uninit-4.c: New test. + * gcc.dg/analyzer/uninit-pr94713.c: New test. + * gcc.dg/analyzer/uninit-pr94714.c: New test. + * gcc.dg/analyzer/use-after-free-2.c: New test. + * gcc.dg/analyzer/use-after-free-3.c: New test. + * gcc.dg/analyzer/zlib-3.c: Add expected warning. + * gcc.dg/analyzer/zlib-6.c: Convert locals to params to avoid + uninitialized warnings. Remove xfail. + * gcc.dg/analyzer/zlib-6a.c: New test, based on the old version + of the above. + * gfortran.dg/analyzer/pr97668.f: Add + -Wno-analyzer-use-of-uninitialized-value and + -Wno-analyzer-too-complex. + +2021-07-15 David Malcolm + + * gcc.dg/analyzer/phi-1.c: New test. + +2021-07-15 Christophe Lyon + + * lib/target-supports.exp (arm_v8_2a_imm8_neon_ok_nocache): + Delete. + +2021-07-15 Christophe Lyon + + * gcc.target/arm/simd/vusdot-autovec.c: Use arm_v8_2a_i8mm_ok + effective-target. + +2021-07-15 Jakub Jelinek + + PR c++/101443 + * g++.dg/cpp0x/nullptr46.C: New test. + +2021-07-15 Tamar Christina + + PR middle-end/101457 + * gcc.dg/vect/vect-reduc-dot-17.c: Fix signs of scalar code. + * gcc.dg/vect/vect-reduc-dot-18.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-22.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-9.c: Likewise. + +2021-07-15 Martin Sebor + + * gcc.dg/Wvla-parameter-12.c: New test. + +2021-07-15 Bill Schmidt + + PR target/101129 + * gcc.target/powerpc/pr101129.c: New. + +2021-07-15 Jakub Jelinek + + PR middle-end/101437 + * gcc.c-torture/compile/pr101437.c: New test. + 2021-07-14 Peter Bergner * gcc.target/powerpc/mma-builtin-9.c: New test. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 91874c83a1d..01bac7a5804 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2021-07-15 Alan Modra + + * config/rs6000/morestack.S (R2_SAVE): Define. + (__morestack): Save and restore r2. Set up r2 for called + functions. + 2021-07-01 H.J. Lu * soft-fp/extendhfxf2.c: New file. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4ea4d2e807b..0072eed32f2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,25 @@ +2021-07-15 Jonathan Wakely + + PR libstdc++/101427 + * include/std/tuple (tuple_element): Improve static_assert text. + (__get_helper): Add deleted overload. + (get(tuple&&), get(const tuple&&)): Use + __get_helper directly. + (__get_helper2): Remove. + (__find_uniq_type_in_pack): New constexpr helper function. + (get): Use __find_uniq_type_in_pack and __get_helper instead + of __get_helper2. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust + expected errors. + * testsuite/20_util/tuple/element_access/101427.cc: New test. + +2021-07-15 Jonathan Wakely + + PR libstdc++/101429 + * include/bits/c++config (__replacement_assert): Add noexcept. + [!_GLIBCXX_VERBOSE] (__glibcxx_assert_impl): Use __builtin_trap + instead of __replacement_assert. + 2021-07-14 Jonathan Wakely * include/std/string_view (basic_string_view(It, End)): Add