From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id B3FCC385B193; Fri, 25 Nov 2022 10:04:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B3FCC385B193 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1669370649; bh=GPBPWKtoOlra6u4tp/2sCz6RTpjA/OrleQl1TXEuubg=; h=From:To:Subject:Date:From; b=RM6AX0IL4vEEXf0K39BNh6xi1gwTw8AZ9CEyQdGfx2aC/zpP08lAVQ4wXyW9dmssO BdvJgAlib+1lHTcA4mWbCxnNY4MV7RpjGOOK4g4nwNq2vdfwaUizuviYYEP7T7h8sD WSy1PYYGSjTMVQF3GIBKtfV0ljVkVUAU8C6Gfz9A= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-4299] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: a5878983d53db7513edb0e6bd99250dbb0c7d147 X-Git-Newrev: 9a1b4f1d3dc29be8673f6f4d96aaf49021614b82 Message-Id: <20221125100409.B3FCC385B193@sourceware.org> Date: Fri, 25 Nov 2022 10:04:09 +0000 (GMT) List-Id: https://gcc.gnu.org/g:9a1b4f1d3dc29be8673f6f4d96aaf49021614b82 commit r13-4299-g9a1b4f1d3dc29be8673f6f4d96aaf49021614b82 Author: GCC Administrator Date: Fri Nov 25 10:03:24 2022 +0000 Daily bump. Diff: --- contrib/ChangeLog | 5 + gcc/ChangeLog | 245 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 15 +++ gcc/analyzer/ChangeLog | 88 +++++++++++++++++ gcc/c-family/ChangeLog | 5 + gcc/c/ChangeLog | 6 ++ gcc/lto/ChangeLog | 6 ++ gcc/testsuite/ChangeLog | 55 +++++++++++ libstdc++-v3/ChangeLog | 27 ++++++ 10 files changed, 453 insertions(+), 1 deletion(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 57ea5808120..b31579d4909 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2022-11-25 Martin Liska + + * gcc-changelog/git_commit.py: Temporarily disable + check_line.start. + 2022-11-21 Martin Liska Revert: diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68acec75bfc..5d7a95a01ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,248 @@ +2022-11-25 Eric Botcazou + + * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. + +2022-11-25 Richard Biener + + PR tree-optimization/107865 + * tree-cfg.cc (move_sese_region_to_fn): Free the number of + iterations of moved loops. + +2022-11-25 Kewen.Lin + + PR target/99889 + * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): + Adjust to call function default_print_patchable_function_entry. + * targhooks.cc (default_print_patchable_function_entry_1): Remove and + move the flags preparation ... + (default_print_patchable_function_entry): ... here, adjust to use + current_function_funcdef_no for label no. + * targhooks.h (default_print_patchable_function_entry_1): Remove. + * varasm.cc (default_elf_asm_named_section): Adjust code for + __patchable_function_entries section support with LPFE label. + +2022-11-24 Wilco Dijkstra + + PR tree-optimization/107413 + * config/aarch64/aarch64.cc (struct tune_params): Add + fma_reassoc_width to all CPU tuning structures. + (aarch64_reassociation_width): Use fma_reassoc_width. + * config/aarch64/aarch64-protos.h (struct tune_params): Add + fma_reassoc_width. + +2022-11-24 Jakub Jelinek + + PR middle-end/107317 + * asan.cc: Include diagnostic-core.h. + (asan_emit_stack_protection): Return NULL early if seen_error (). + +2022-11-24 Aldy Hernandez + + * vr-values.cc (simplify_using_ranges::compare_names): Remove. + (vrp_evaluate_conditional_warnv_with_ops): Remove call to + compare_names. + (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p + argument to vrp_evaluate_conditional_warnv_with_ops. + * vr-values.h (class simplify_using_ranges): Remove + compare_names. + Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops. + +2022-11-24 Aldy Hernandez + + * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs. + (overflow_comparison_p): Remove use_equiv_p. + * tree-vrp.h (overflow_comparison_p): Same. + * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove + use_equiv_p argument to overflow_comparison_p. + +2022-11-24 Aldy Hernandez + + * doc/gimple.texi: Remove ASSERT_EXPR references. + * fold-const.cc (tree_expr_nonzero_warnv_p): Same. + (fold_binary_loc): Same. + (tree_expr_nonnegative_warnv_p): Same. + * gimple-array-bounds.cc (get_base_decl): Same. + * gimple-pretty-print.cc (dump_unary_rhs): Same. + * gimple.cc (get_gimple_rhs_num_ops): Same. + * pointer-query.cc (handle_ssa_name): Same. + * tree-cfg.cc (verify_gimple_assign_single): Same. + * tree-pretty-print.cc (dump_generic_node): Same. + * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same. + (interpret_rhs_expr): Same. + * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same. + * tree-ssa-propagate.cc + (substitute_and_fold_dom_walker::before_dom_children): Same. + * tree-ssa-threadedge.cc: Same. + * tree-vrp.cc (overflow_comparison_p): Same. + * tree.def (ASSERT_EXPR): Add note. + * tree.h (ASSERT_EXPR_VAR): Remove. + (ASSERT_EXPR_COND): Remove. + * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt): + Remove comment. + +2022-11-24 Aldy Hernandez + + * Makefile.in: Remove value-range-equiv.o + * gimple-array-bounds.cc + (array_bounds_checker::array_bounds_checker): Remove comment. + * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv. + * value-query.cc (class equiv_allocator): Same. + (range_query::allocate_value_range_equiv): Remove. + (range_query::free_value_range_equiv): Remove. + (range_query::get_value_range): Remove. + * value-query.h (class range_query): Remove get_value_range. + Remove allocate_value_range_equiv. + Remove free_value_range_equiv. + * vr-values.cc (compare_ranges): Replace value_range_equiv with + value_range. + (simplify_using_ranges::get_vr_for_comparison): Same. + (simplify_using_ranges::compare_names): Same. + * vr-values.h: Remove value_range_equiv references. + * value-range-equiv.cc: Removed. + * value-range-equiv.h: Removed. + +2022-11-24 Aldy Hernandez + + * doc/invoke.texi: Remove docs for max-vrp-switch-assertions, + vrp1-mode, and vrp2-mode. + * params.opt: Same. + * range-op.cc (masked_increment): Move from tree-vrp.cc. + * tree-vrp.cc (class live_names): Remove. + (live_names::init_bitmap_if_needed): Remove. + (live_names::block_has_live_names_p): Remove. + (live_names::clear_block): Remove. + (live_names::merge): Remove. + (live_names::set): Remove. + (live_names::clear): Remove. + (live_names::live_names): Remove. + (live_names::~live_names): Remove. + (live_names::live_on_block_p): Remove. + (live_names::live_on_edge_p): Remove. + (get_single_symbol): Make static. + (build_symbolic_expr): Remove. + (adjust_symbolic_bound): Remove. + (combine_bound): Remove. + (set_value_range_with_overflow): Remove. + (extract_range_from_pointer_plus_expr): Remove. + (extract_range_from_plus_minus_expr): Remove. + (drop_undefines_to_varying): Remove. + (range_fold_binary_symbolics_p): Remove. + (range_fold_unary_symbolics_p): Remove. + (range_fold_binary_expr): Remove. + (infer_value_range): Remove. + (dump_assert_info): Remove. + (dump_asserts_info): Remove. + (add_assert_info): Remove. + (extract_code_and_val_from_cond_with_ops): Remove. + (masked_increment): Move to range-op.cc. + (register_edge_assert_for_2): Remove. + (find_case_label_index): Remove. + (find_case_label_range): Remove. + (register_edge_assert_for_1): Remove. + (is_masked_range_test): Remove. + (register_edge_assert_for): Remove. + (stmt_interesting_for_vrp): Remove. + (struct case_info): Remove. + (struct assert_locus): Remove. + (class vrp_asserts): Remove. + (vrp_asserts::build_assert_expr_for): Remove. + (vrp_asserts::dump): Remove. + (vrp_asserts::register_new_assert_for): Remove. + (vrp_asserts::finish_register_edge_assert_for): Remove. + (vrp_asserts::find_conditional_asserts): Remove. + (vrp_asserts::compare_case_labels): Remove. + (vrp_asserts::find_switch_asserts): Remove. + (vrp_asserts::find_assert_locations_in_bb): Remove. + (vrp_asserts::find_assert_locations): Remove. + (vrp_asserts::process_assert_insertions_for): Remove. + (vrp_asserts::compare_assert_loc): Remove. + (vrp_asserts::process_assert_insertions): Remove. + (vrp_asserts::insert_range_assertions): Remove. + (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove. + (vrp_asserts::remove_range_assertions): Remove. + (class vrp_prop): Remove. + (vrp_prop::initialize): Remove. + (enum ssa_prop_result): Remove. + (vrp_prop::visit_stmt): Remove. + (vrp_prop::visit_phi): Remove. + (vrp_prop::finalize): Remove. + (class vrp_folder): Remove. + (vrp_folder::fold_predicate_in): Remove. + (vrp_folder::fold_stmt): Remove. + (vrp_folder::simplify_casted_conds): Remove. + (execute_vrp): Remove. + * tree-vrp.h (struct assert_info): Remove. + (register_edge_assert_for): Remove. + (stmt_interesting_for_vrp): Remove. + (infer_value_range): Remove. + (get_single_symbol): Remove. + (masked_increment): Remove. + (execute_ranger_vrp): Remove. + * vr-values.cc (set_value_range_to_nonnegative): Remove. + (set_value_range_to_truthvalue): Remove. + (vr_values::get_lattice_entry): Remove. + (vr_values::get_value_range): Remove. + (vr_values::range_of_expr): Remove. + (vr_values::value_of_expr): Remove. + (vr_values::value_on_edge): Remove. + (vr_values::value_of_stmt): Remove. + (vr_values::set_def_to_varying): Remove. + (vr_values::set_defs_to_varying): Remove. + (vr_values::update_value_range): Remove. + (symbolic_range_based_on_p): Remove. + (gimple_assign_nonzero_p): Remove. + (gimple_stmt_nonzero_p): Remove. + (vr_values::vrp_stmt_computes_nonzero): Remove. + (vr_values::op_with_constant_singleton_value_range): Remove. + (vr_values::extract_range_for_var_from_comparison_expr): Remove. + (vr_values::extract_range_from_assert): Remove. + (vr_values::extract_range_from_ssa_name): Remove. + (vr_values::extract_range_from_binary_expr): Remove. + (vr_values::extract_range_from_unary_expr): Remove. + (vr_values::extract_range_from_cond_expr): Remove. + (vr_values::extract_range_from_comparison): Remove. + (vr_values::extract_range_from_ubsan_builtin): Remove. + (vr_values::extract_range_basic): Remove. + (vr_values::extract_range_from_assignment): Remove. + (vr_values::adjust_range_with_scev): Remove. + (vr_values::dump): Remove. + (vr_values::vr_values): Remove. + (vr_values::~vr_values): Remove. + (vrp_valueize): Remove. + (vrp_valueize_1): Remove. + (get_output_for_vrp): Remove. + (vr_values::vrp_visit_assignment_or_call): Remove. + (simplify_using_ranges::vrp_evaluate_conditional): Remove. + (vr_values::vrp_visit_switch_stmt): Remove. + (vr_values::extract_range_from_stmt): Remove. + (vr_values::extract_range_from_phi_node): Remove. + (simplify_using_ranges::fold_cond): Add FIXME note. + (vr_values::set_vr_value): Remove. + (vr_values::swap_vr_value): Remove. + * vr-values.h (class vr_values): Remove. + (get_output_for_vrp): Remove. + +2022-11-24 Hongyu Wang + + PR target/107692 + * common/config/i386/i386-common.cc (ix86_optimization_table): + Enable loop unroll O2, disable -fweb and -frename-registers + by default. + * config/i386/i386-options.cc + (ix86_override_options_after_change): + Disable small loop unroll when funroll-loops enabled, reset + cunroll_grow_size when it is not explicitly enabled. + (ix86_option_override_internal): Call + ix86_override_options_after_change instead of calling + ix86_recompute_optlev_based_flags and ix86_default_align + separately. + * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll + factor if -munroll-only-small-loops enabled. + * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable + loop unrolling for -O2-speed. + (pass_rtl_unroll_loops::execute): Rmove + targetm.loop_unroll_adjust check. + 2022-11-23 Ramana Radhakrishnan * config/arm/types.md: Update comment. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 059dd7f104c..9fb04058de4 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20221124 +20221125 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cc7e3288fba..34a26957249 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,18 @@ +2022-11-24 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu) : Add + assertion that memset is not supposed to be used when the target has + a storage model with Copy_To routine. + +2022-11-24 Justin Squirek + + * sem_ch8.adb + (Find_Direct_Name): Remove bypass to reanalyze incorrectly + analyzed discriminals. + (Set_Entity_Or_Discriminal): Avoid resetting the entity field of a + discriminant reference to be the internally generated renaming + when we are in strict preanalysis mode. + 2022-11-22 Piotr Trojanek * sem_prag.adb (Analyze_Depends_Global): Accept aspects on diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index d134b0bdffc..aa7ce88cdf6 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,91 @@ +2022-11-24 Martin Liska + + * varargs.cc: Fix Clang warnings. + +2022-11-24 David Malcolm + + PR analyzer/106473 + * call-summary.cc + (call_summary_replay::convert_region_from_summary_1): Update for + change to creation of heap-allocated regions. + * program-state.cc (test_program_state_1): Likewise. + (test_program_state_merging): Likewise. + * region-model-impl-calls.cc (kf_calloc::impl_call_pre): Likewise. + (kf_malloc::impl_call_pre): Likewise. + (kf_operator_new::impl_call_pre): Likewise. + (kf_realloc::impl_call_postsuccess_with_move::update_model): Likewise. + * region-model-manager.cc + (region_model_manager::create_region_for_heap_alloc): Convert + to... + (region_model_manager::get_or_create_region_for_heap_alloc): + ...this, reusing an existing region if it's unreferenced in the + client state. + * region-model-manager.h (region_model_manager::get_num_regions): New. + (region_model_manager::create_region_for_heap_alloc): Convert to... + (region_model_manager::get_or_create_region_for_heap_alloc): ...this. + * region-model.cc (region_to_value_map::can_merge_with_p): Reject + merger when the values are different. + (region_model::create_region_for_heap_alloc): Convert to... + (region_model::get_or_create_region_for_heap_alloc): ...this. + (region_model::get_referenced_base_regions): New. + (selftest::test_state_merging): Update for change to creation of + heap-allocated regions. + (selftest::test_malloc_constraints): Likewise. + (selftest::test_malloc): Likewise. + * region-model.h: Include "sbitmap.h". + (region_model::create_region_for_heap_alloc): Convert to... + (region_model::get_or_create_region_for_heap_alloc): ...this. + (region_model::get_referenced_base_regions): New decl. + * store.cc (store::canonicalize): Don't purge a heap-allocated region + that's been marked as escaping. + +2022-11-24 David Malcolm + + * checker-path.cc (checker_path::inject_any_inlined_call_events): + Don't dump the address of the block when -fdump-noaddr. + +2022-11-24 David Malcolm + + * region-model.h (region_model::on_socket): Delete decl. + (region_model::on_bind): Likewise. + (region_model::on_listen): Likewise. + (region_model::on_accept): Likewise. + (region_model::on_connect): Likewise. + * sm-fd.cc (kf_socket::outcome_of_socket::update_model): Move body + of region_model::on_socket into here, ... + (region_model::on_socket): ...eliminating this function. + (kf_bind::outcome_of_bind::update_model): Likewise for on_bind... + (region_model::on_bind): ...eliminating this function. + (kf_listen::outcome_of_listen::update_model): Likewise fo + on_listen... + (region_model::on_listen): ...eliminating this function. + (kf_accept::outcome_of_accept::update_model): Likewise fo + on_accept... + (region_model::on_accept): ...eliminating this function. + (kf_connect::outcome_of_connect::update_model): Likewise fo + on_connect... + (region_model::on_connect): ...eliminating this function. + +2022-11-24 David Malcolm + + * analyzer.h (register_known_fd_functions): New decl. + * region-model-impl-calls.cc (class kf_accept): Move to sm-fd.cc. + (class kf_bind): Likewise. + (class kf_connect): Likewise. + (class kf_listen): Likewise. + (class kf_pipe): Likewise. + (class kf_socket): Likewise. + (register_known_functions): Remove registration of the above + functions, instead calling register_known_fd_functions. + * sm-fd.cc: Include "analyzer/call-info.h". + (class kf_socket): Move here from region-model-impl-calls.cc. + (class kf_bind): Likewise. + (class kf_listen): Likewise. + (class kf_accept): Likewise. + (class kf_connect): Likewise. + (class kf_pipe): Likewise. + (register_known_fd_functions): New. + 2022-11-22 David Malcolm PR analyzer/107788 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 39d6a1a810e..e53acbd0518 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2022-11-24 Jakub Jelinek + + * c.opt (fcontract-role=, fcontract-semantic=): Terminate descriptions + with a dot. + 2022-11-23 Andrew Pinski Jakub Jelinek diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 2ef65a89f82..956e47ccb43 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2022-11-24 Florian Weimer + + PR c/107805 + * c-decl.cc (declspecs_add_type): Propagate error_mark_bode + from type to specs. + 2022-11-17 Bernhard Reutner-Fischer * c-decl.cc (start_function): Set the result decl source diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 563f2086de2..a0f0b9e3e5f 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,9 @@ +2022-11-25 Martin Liska + + PR lto/107829 + * lto.cc (materialize_cgraph): Call timevar_push before + materialization starts. + 2022-10-29 Thomas Schwinge * lang.opt: Better separate 'LTO' vs. 'LTODump'. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6fc29d2c38a..a43b6ff5f55 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,58 @@ +2022-11-25 Eric Botcazou + + * gnat.dg/opt100.adb: New test. + * gnat.dg/opt100_pkg.adb, gnat.dg/opt100_pkg.ads: New helper. + +2022-11-25 Richard Biener + + PR tree-optimization/107865 + * gfortran.dg/graphite/pr107865.f90: New testcase. + +2022-11-25 Kewen.Lin + + PR target/99889 + * g++.dg/pr93195a.C: Remove the skip on powerpc*-*-* 64-bit. + * gcc.target/aarch64/pr92424-2.c: Adjust LPFE1 with LPFE0. + * gcc.target/aarch64/pr92424-3.c: Likewise. + * gcc.target/i386/pr93492-2.c: Likewise. + * gcc.target/i386/pr93492-3.c: Likewise. + * gcc.target/i386/pr93492-4.c: Likewise. + * gcc.target/i386/pr93492-5.c: Likewise. + +2022-11-24 Jakub Jelinek + + PR middle-end/107317 + * gcc.dg/asan/pr107317.c: New test. + +2022-11-24 Florian Weimer + + PR c/107805 + * gcc.dg/pr107805-1.c: New test. + * gcc.dg/pr107805-2.c: Likewise. + +2022-11-24 Jakub Jelinek + + PR c/107127 + * gcc.dg/pr107127.c (foo): Add missing closing }. + +2022-11-24 David Malcolm + + PR analyzer/106473 + * gcc.dg/analyzer/aliasing-pr106473.c: New test. + * gcc.dg/analyzer/allocation-size-2.c: Add + -fanalyzer-fine-grained". + * gcc.dg/analyzer/allocation-size-3.c: Likewise. + * gcc.dg/analyzer/explode-1.c: Mark leak with XFAIL. + * gcc.dg/analyzer/explode-3.c: New test. + * gcc.dg/analyzer/malloc-reuse.c: New test. + +2022-11-24 Hongyu Wang + + PR target/107692 + * gcc.dg/guality/loop-1.c: Remove additional option for ia32. + * gcc.target/i386/pr86270.c: Add -fno-unroll-loops. + * gcc.target/i386/pr93002.c: Likewise. + 2022-11-23 Rainer Orth * gcc.dg/analyzer/call-summaries-2.c (uses_alloca): Use diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 848d179f15c..7c02e4442e5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,30 @@ +2022-11-25 Jonathan Wakely + + * doc/html/manual/bugs.html: Regenerate. + * doc/xml/manual/intro.xml: Document LWG 3656 change. + * include/std/bit (__bit_width, bit_width): Return int. + * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: New test. + +2022-11-24 Jonathan Wakely + + PR libstdc++/106201 + * testsuite/27_io/filesystem/iterators/106201.cc: Improve test. + * testsuite/experimental/filesystem/iterators/106201.cc: New test. + +2022-11-24 Jakub Jelinek + + PR libstdc++/107468 + * src/c++17/fast_float/MERGE: Adjust for merge from upstream. + * src/c++17/fast_float/fast_float.h: Merge from fast_float + 2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit. + +2022-11-24 Jakub Jelinek + + PR libstdc++/107815 + * testsuite/20_util/to_chars/float128_c++23.cc (test): Disable + __FLT128_MAX__ test on Solaris. Fix up commented out debugging + printouts. + 2022-11-23 Jakub Jelinek PR libstdc++/107811