From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 407A03858D33; Thu, 10 Aug 2023 00:18:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 407A03858D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1691626692; bh=XGObpKjcRLPfrZYqgQtKEI5VRlF4Oiroj/3R+NW/UMI=; h=From:To:Subject:Date:From; b=ta4XhWbzq8xxUcqyGXloLLH8H+UGSiJYiQOFnChst1qqv8t1/Ifxl4WSe+JuVl6/f Epsbb+Rc8nrNCBXC2mtNfPpwRoxrCIJeXvucILoz56ljSjHmYFJpf86RQhhQeid2kc uJkPeMAiEOhjeZO9fN50QjgrIhNwCrbYsL7qWBDc= 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 r14-3116] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 83c77b31b8aa57c189febf441d3906e402e7da7a X-Git-Newrev: 9b099a83b45b8fcdfc07d518e05d36ea741b2227 Message-Id: <20230810001812.407A03858D33@sourceware.org> Date: Thu, 10 Aug 2023 00:18:12 +0000 (GMT) List-Id: https://gcc.gnu.org/g:9b099a83b45b8fcdfc07d518e05d36ea741b2227 commit r14-3116-g9b099a83b45b8fcdfc07d518e05d36ea741b2227 Author: GCC Administrator Date: Thu Aug 10 00:17:26 2023 +0000 Daily bump. Diff: --- gcc/ChangeLog | 197 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 56 ++++++++++++++ gcc/fortran/ChangeLog | 6 ++ gcc/m2/ChangeLog | 10 +++ gcc/testsuite/ChangeLog | 56 ++++++++++++++ libgm2/ChangeLog | 21 ++++++ libstdc++-v3/ChangeLog | 65 ++++++++++++++++ 8 files changed, 412 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3bf21765abfb..b981c4387984 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,200 @@ +2023-08-09 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix + incorrect anticipate info. + +2023-08-09 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Remove 'Zve32d' from the version list. + +2023-08-09 Jin Ma + + * config/riscv/riscv.cc (riscv_sched_variable_issue): New function. + (TARGET_SCHED_VARIABLE_ISSUE): New macro. + Co-authored-by: Philipp Tomsich + Co-authored-by: Jeff Law + +2023-08-09 Jivan Hakobyan + + * config/riscv/riscv.cc (riscv_legitimize_address): Handle folding. + (mem_shadd_or_shadd_rtx_p): New function. + +2023-08-09 Andrew Pinski + + PR tree-optimization/110937 + PR tree-optimization/100798 + * match.pd (`a ? ~b : b`): Handle this + case. + +2023-08-09 Uros Bizjak + + * config/i386/i386.opt (mpartial-vector-fp-math): Add dot. + +2023-08-09 Richard Ball + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A520 CPU. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Document Cortex-A520 CPU. + +2023-08-09 Carl Love + + * config/rs6000/rs6000-builtins.def (vcmpneb, vcmpneh, vcmpnew): + Move definitions to Altivec stanza. + * config/rs6000/altivec.md (vcmpneb, vcmpneh, vcmpnew): New + define_expand. + +2023-08-09 Juzhe-Zhong + + PR target/110950 + * config/riscv/riscv-v.cc (expand_const_vector): Add NPATTERNS = 1 + stepped vector support. + +2023-08-09 liuhongt + + * common/config/i386/cpuinfo.h (get_available_features): + Rename local variable subleaf_level to max_subleaf_level. + +2023-08-09 Richard Biener + + PR rtl-optimization/110587 + * lra-assigns.cc (find_hard_regno_for_1): Re-order checks. + +2023-08-09 Kewen Lin + + PR tree-optimization/110248 + * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Check if + the given code is for ifn LEN_{LOAD,STORE}, if yes then make it not + legitimate when outer code is PLUS. + +2023-08-09 Kewen Lin + + PR tree-optimization/110248 + * recog.cc (memory_address_addr_space_p): Add one more argument ch of + type code_helper and pass it to targetm.addr_space.legitimate_address_p + instead of ERROR_MARK. + (offsettable_address_addr_space_p): Update one function pointer with + one more argument of type code_helper as its assignees + memory_address_addr_space_p and strict_memory_address_addr_space_p + have been adjusted, and adjust some call sites with ERROR_MARK. + * recog.h (tree.h): New include header file for tree_code ERROR_MARK. + (memory_address_addr_space_p): Adjust with one more unnamed argument + of type code_helper with default ERROR_MARK. + (strict_memory_address_addr_space_p): Likewise. + * reload.cc (strict_memory_address_addr_space_p): Add one unnamed + argument of type code_helper. + * tree-ssa-address.cc (valid_mem_ref_p): Add one more argument ch of + type code_helper and pass it to memory_address_addr_space_p. + * tree-ssa-address.h (valid_mem_ref_p): Adjust the declaration with + one more unnamed argument of type code_helper with default value + ERROR_MARK. + * tree-ssa-loop-ivopts.cc (get_address_cost): Use ERROR_MARK as code + by default, change it with ifn code for USE_PTR_ADDRESS type use, and + pass it to all valid_mem_ref_p calls. + +2023-08-09 Kewen Lin + + PR tree-optimization/110248 + * coretypes.h (class code_helper): Add forward declaration. + * doc/tm.texi: Regenerate. + * lra-constraints.cc (valid_address_p): Call target hook + targetm.addr_space.legitimate_address_p with an extra parameter + ERROR_MARK as its prototype changes. + * recog.cc (memory_address_addr_space_p): Likewise. + * reload.cc (strict_memory_address_addr_space_p): Likewise. + * target.def (legitimate_address_p, addr_space.legitimate_address_p): + Extend with one more argument of type code_helper, update the + documentation accordingly. + * targhooks.cc (default_legitimate_address_p): Adjust for the + new code_helper argument. + (default_addr_space_legitimate_address_p): Likewise. + * targhooks.h (default_legitimate_address_p): Likewise. + (default_addr_space_legitimate_address_p): Likewise. + * config/aarch64/aarch64.cc (aarch64_legitimate_address_hook_p): Adjust + with extra unnamed code_helper argument with default ERROR_MARK. + * config/alpha/alpha.cc (alpha_legitimate_address_p): Likewise. + * config/arc/arc.cc (arc_legitimate_address_p): Likewise. + * config/arm/arm-protos.h (arm_legitimate_address_p): Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/arm/arm.cc (arm_legitimate_address_p): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/avr/avr.cc (avr_addr_space_legitimate_address_p): Likewise. + * config/bfin/bfin.cc (bfin_legitimate_address_p): Likewise. + * config/bpf/bpf.cc (bpf_legitimate_address_p): Likewise. + * config/c6x/c6x.cc (c6x_legitimate_address_p): Likewise. + * config/cris/cris-protos.h (cris_legitimate_address_p): Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/cris/cris.cc (cris_legitimate_address_p): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/csky/csky.cc (csky_legitimate_address_p): Likewise. + * config/epiphany/epiphany.cc (epiphany_legitimate_address_p): + Likewise. + * config/frv/frv.cc (frv_legitimate_address_p): Likewise. + * config/ft32/ft32.cc (ft32_addr_space_legitimate_address_p): Likewise. + * config/gcn/gcn.cc (gcn_addr_space_legitimate_address_p): Likewise. + * config/h8300/h8300.cc (h8300_legitimate_address_p): Likewise. + * config/i386/i386.cc (ix86_legitimate_address_p): Likewise. + * config/ia64/ia64.cc (ia64_legitimate_address_p): Likewise. + * config/iq2000/iq2000.cc (iq2000_legitimate_address_p): Likewise. + * config/lm32/lm32.cc (lm32_legitimate_address_p): Likewise. + * config/loongarch/loongarch.cc (loongarch_legitimate_address_p): + Likewise. + * config/m32c/m32c.cc (m32c_legitimate_address_p): Likewise. + (m32c_addr_space_legitimate_address_p): Likewise. + * config/m32r/m32r.cc (m32r_legitimate_address_p): Likewise. + * config/m68k/m68k.cc (m68k_legitimate_address_p): Likewise. + * config/mcore/mcore.cc (mcore_legitimate_address_p): Likewise. + * config/microblaze/microblaze-protos.h (tree.h): New include for + tree_code ERROR_MARK. + (microblaze_legitimate_address_p): Adjust with extra unnamed + code_helper argument with default ERROR_MARK. + * config/microblaze/microblaze.cc (microblaze_legitimate_address_p): + Likewise. + * config/mips/mips.cc (mips_legitimate_address_p): Likewise. + * config/mmix/mmix.cc (mmix_legitimate_address_p): Likewise. + * config/mn10300/mn10300.cc (mn10300_legitimate_address_p): Likewise. + * config/moxie/moxie.cc (moxie_legitimate_address_p): Likewise. + * config/msp430/msp430.cc (msp430_legitimate_address_p): Likewise. + (msp430_addr_space_legitimate_address_p): Adjust with extra code_helper + argument with default ERROR_MARK and adjust the call to function + msp430_legitimate_address_p. + * config/nds32/nds32.cc (nds32_legitimate_address_p): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/nios2/nios2.cc (nios2_legitimate_address_p): Likewise. + * config/nvptx/nvptx.cc (nvptx_legitimate_address_p): Likewise. + * config/or1k/or1k.cc (or1k_legitimate_address_p): Likewise. + * config/pa/pa.cc (pa_legitimate_address_p): Likewise. + * config/pdp11/pdp11.cc (pdp11_legitimate_address_p): Likewise. + * config/pru/pru.cc (pru_addr_space_legitimate_address_p): Likewise. + * config/riscv/riscv.cc (riscv_legitimate_address_p): Likewise. + * config/rl78/rl78-protos.h (rl78_as_legitimate_address): Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/rl78/rl78.cc (rl78_as_legitimate_address): Adjust with + extra unnamed code_helper argument with default ERROR_MARK. + * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Likewise. + (rs6000_debug_legitimate_address_p): Adjust with extra code_helper + argument and adjust the call to function rs6000_legitimate_address_p. + * config/rx/rx.cc (rx_is_legitimate_address): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/s390/s390.cc (s390_legitimate_address_p): Likewise. + * config/sh/sh.cc (sh_legitimate_address_p): Likewise. + * config/sparc/sparc.cc (sparc_legitimate_address_p): Likewise. + * config/v850/v850.cc (v850_legitimate_address_p): Likewise. + * config/vax/vax.cc (vax_legitimate_address_p): Likewise. + * config/visium/visium.cc (visium_legitimate_address_p): Likewise. + * config/xtensa/xtensa.cc (xtensa_legitimate_address_p): Likewise. + * config/stormy16/stormy16-protos.h (xstormy16_legitimate_address_p): + Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/stormy16/stormy16.cc (xstormy16_legitimate_address_p): + Adjust with extra unnamed code_helper argument with default + ERROR_MARK. + +2023-08-09 liuhongt + + * common/config/i386/cpuinfo.h (get_available_features): Check + EAX for valid subleaf before use CPUID. + 2023-08-08 Jeff Law * config/riscv/riscv.cc (riscv_expand_conditional_move): Use word_mode diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 8974d32783c6..9ae743a51cb1 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20230809 +20230810 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index b1970a87a2f4..de8a16da4e80 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,59 @@ +2023-08-09 David Malcolm + + * analyzer.h (class pure_known_function_with_default_return): New + subclass. + * call-details.cc (const_fn_p): Move here from region-model.cc. + (maybe_get_const_fn_result): Likewise. + (get_result_size_in_bytes): Likewise. + (call_details::set_any_lhs_with_defaults): New function, based on + code in region_model::on_call_pre. + * call-details.h (call_details::set_any_lhs_with_defaults): New + decl. + * diagnostic-manager.cc + (diagnostic_manager::emit_saved_diagnostic): Log the index of the + saved_diagnostic. + * kf.cc (pure_known_function_with_default_return::impl_call_pre): + New. + (kf_memset::impl_call_pre): Set the LHS to the first param. + (kf_putenv::impl_call_pre): Call cd.set_any_lhs_with_defaults. + (kf_sprintf::impl_call_pre): Call cd.set_any_lhs_with_defaults. + (class kf_stack_restore): Derive from + pure_known_function_with_default_return. + (class kf_stack_save): Likewise. + (kf_strlen::impl_call_pre): Call cd.set_any_lhs_with_defaults. + * region-model-reachability.cc (reachable_regions::handle_sval): + Remove logic for symbolic regions for pointers. + * region-model.cc (region_model::canonicalize): Remove purging of + dynamic extents workaround for surplus values from + region_model::on_call_pre's default LHS code. + (const_fn_p): Move to call-details.cc. + (maybe_get_const_fn_result): Likewise. + (get_result_size_in_bytes): Likewise. + (region_model::update_for_nonzero_return): Call + cd.set_any_lhs_with_defaults. + (region_model::on_call_pre): Remove the assignment to the LHS of a + default return value, instead requiring all known_function + implementations to write to any LHS of the call. Use + cd.set_any_lhs_with_defaults on the non-kf paths. + * sm-fd.cc (kf_socket::outcome_of_socket::update_model): Use + cd.set_any_lhs_with_defaults when failing to get at fd state. + (kf_bind::outcome_of_bind::update_model): Likewise. + (kf_listen::outcome_of_listen::update_model): Likewise. + (kf_accept::outcome_of_accept::update_model): Likewise. + (kf_connect::outcome_of_connect::update_model): Likewise. + (kf_read::impl_call_pre): Use cd.set_any_lhs_with_defaults. + * sm-file.cc (class kf_stdio_output_fn): Derive from + pure_known_function_with_default_return. + (class kf_ferror): Likewise. + (class kf_fileno): Likewise. + (kf_fgets::impl_call_pre): Use cd.set_any_lhs_with_defaults. + (kf_read::impl_call_pre): Likewise. + (class kf_getc): Derive from + pure_known_function_with_default_return. + (class kf_getchar): Likewise. + * varargs.cc (kf_va_arg::impl_call_pre): Use + cd.set_any_lhs_with_defaults. + 2023-08-04 David Malcolm PR analyzer/110426 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 677008fb6cea..cc8a626bfc12 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2023-08-09 Steve Kargl + + PR fortran/109684 + * resolve.cc (resolve_types): Exclude contained procedures with + the artificial attribute from test for pureness. + 2023-07-31 Chung-Lin Tang * openmp.cc (resolve_omp_clauses): Add checking requiring diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index 463faafc785b..62b20693a172 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,13 @@ +2023-08-09 Gaius Mulley + + PR modula2/110779 + * gm2-libs-iso/SysClock.mod (GetClock): Test GetTimespec + return value. + (SetClock): Test SetTimespec return value. + * gm2-libs-iso/wrapclock.def (GetTimespec): Add integer + return type. + (SetTimespec): Add integer return type. + 2023-08-05 Gaius Mulley PR modula2/110779 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 01007e4b588b..26ab43eebf90 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,59 @@ +2023-08-09 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: + Adapt test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Ditto. + +2023-08-09 David Malcolm + + * gcc.dg/analyzer/allocation-size-1.c: Update expected results + to reflect splitting of allocation size and assignment messages + from a single event into pairs of events + * gcc.dg/analyzer/allocation-size-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-3.c: Likewise. + * gcc.dg/analyzer/allocation-size-4.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-1.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-3.c: Likewise. + * gcc.dg/analyzer/memset-1.c (test_1): Verify that the return + value is the initial argument. + * gcc.dg/plugin/analyzer_kernel_plugin.c + (copy_across_boundary_fn::impl_call_pre): Ensure the LHS is set on + the "known zero size" case. + * gcc.dg/plugin/analyzer_known_fns_plugin.c + (known_function_attempt_to_copy::impl_call_pre): Likewise. + +2023-08-09 Andrew Pinski + + PR tree-optimization/110937 + PR tree-optimization/100798 + * gcc.dg/tree-ssa/bool-14.c: New test. + * gcc.dg/tree-ssa/bool-15.c: New test. + * gcc.dg/tree-ssa/phi-opt-33.c: New test. + * gcc.dg/tree-ssa/20030709-2.c: Update testcase + so `a ? -1 : 0` is not used to hit the match + pattern. + +2023-08-09 Carl Love + + * gcc.target/powerpc/vec-cmpne-runnable.c: New execution test. + * gcc.target/powerpc/vec-cmpne.c (define_test_functions, + execute_test_functions): Move to vec-cmpne.h. Add + scan-assembler-times for vcmpequb, vcmpequh, vcmpequw. + * gcc.target/powerpc/vec-cmpne.h: New include file for vec-cmpne.c + and vec-cmpne-runnable.c. Split define_test_functions definition + into define_test_functions and define_init_verify_functions. + +2023-08-09 Juzhe-Zhong + + PR target/110950 + * gcc.target/riscv/rvv/autovec/pr110950.c: New test. + 2023-08-08 Jeff Law * gcc.target/riscv/zicond-ice-1.c: New test. diff --git a/libgm2/ChangeLog b/libgm2/ChangeLog index 3cc39693896c..6dddfc7299a1 100644 --- a/libgm2/ChangeLog +++ b/libgm2/ChangeLog @@ -1,3 +1,24 @@ +2023-08-09 Gaius Mulley + + PR modula2/110779 + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac (AC_CACHE_CHECK): Check for tm_gmtoff field in + struct tm. + (GM2_CHECK_LIB): Check for daylight, timezone and tzname. + * libm2iso/wrapclock.cc (timezone): Guard against absence of + struct tm and tm_gmtoff. + (daylight): Check for daylight. + (timezone): Check for timezone. + (isdst): Check for isdst. + (tzname): Check for tzname. + (GetTimeRealtime): Check for struct timespec. + (SetTimeRealtime): Check for struct timespec. + (InitTimespec): Check for struct timespec. + (KillTimespec): Check for struct timespec. + (SetTimespec): Check for struct timespec. + (GetTimespec): Check for struct timespec. + 2023-08-07 Nick Alcock * configure: Regenerate. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0be99ff69e55..369fbfb87f39 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,68 @@ +2023-08-09 Jonathan Wakely + + * include/bits/chrono.h (duration_cast): Do not use braces + around statements for C++11 constexpr rules. + * include/bits/stl_algobase.h (__lg): Rewrite as a single + statement for C++11 constexpr rules. + * include/experimental/bits/fs_path.h (path::string): Use + _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'. + * include/std/charconv (__to_chars_8): Initialize variable for + C++17 constexpr rules. + +2023-08-09 Jonathan Wakely + + * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare + warning for loop condition. + +2023-08-09 Jonathan Wakely + + * include/std/complex: Add diagnostic pragma for clang. + +2023-08-09 Jonathan Wakely + + * include/bits/shared_ptr_atomic.h (atomic): Change class-head + to struct. + * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change + class-head to struct in friend declaration. + * include/std/chrono (tzdb_list::_Node): Likewise. + * include/std/future (_Task_state_base, _Task_state): Likewise. + * include/std/scoped_allocator (__inner_type_impl): Likewise. + * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) + (_ValFunClos, _RefFunClos): Change class-head to struct. + +2023-08-09 Jonathan Wakely + + * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]] + attribute. + * include/bits/regex_executor.tcc: Remove name of unused + parameter. + * include/bits/shared_ptr_atomic.h (atomic_is_lock_free): + Likewise. + * include/bits/stl_uninitialized.h: Likewise. + * include/bits/streambuf_iterator.h (operator==): Likewise. + * include/bits/uses_allocator.h: Likewise. + * include/c_global/cmath (isfinite, isinf, isnan): Likewise. + * include/std/chrono (zoned_time): Likewise. + * include/std/future (__future_base::_S_allocate_result): + Likewise. + (packaged_task): Likewise. + * include/std/optional (_Optional_payload_base): Likewise. + * include/std/scoped_allocator (__inner_type_impl): Likewise. + * include/std/tuple (_Tuple_impl): Likewise. + +2023-08-09 Jonathan Wakely + + * include/bits/new_allocator.h (__new_allocator): Define copy + assignment operator as defaulted. + * include/std/complex (complex, complex) + (complex): Define copy constructor as defaulted. + +2023-08-09 Jonathan Wakely + + * include/std/format: Fix some warnings. + (__format::__write(Ctx&, basic_string_view)): Remove + unused function template. + 2023-08-07 Jonathan Wakely PR libstdc++/110860