From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 6698E3858C78; Thu, 20 Jul 2023 00:18:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6698E3858C78 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1689812293; bh=R6QCV/W2PDMEjktwjH073fB7Xknba32mbDpOqPqYi5E=; h=From:To:Subject:Date:From; b=Xos7USw/eJPFwxXHGoG2SXI3J1zYc4gZx0OQhzV+ZLoB8GbDcaBFIVyzKGdvI3PNB p0cqdrg/bdexQWvnsMbvqZXTWFdUuja31q9O9QCwCtKhcDPAEejTHo9Tk2sKqMO4vp 0uxp0v3WFWxlSxYjPFXRC3Ude9qJVZ2Xvd38RL8I= 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-2662] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 0867d30a68de68f4c809757348447bef94ef1491 X-Git-Newrev: 49bed11d96cf727de7e6ed35f065a4df29f6c589 Message-Id: <20230720001813.6698E3858C78@sourceware.org> Date: Thu, 20 Jul 2023 00:18:13 +0000 (GMT) List-Id: https://gcc.gnu.org/g:49bed11d96cf727de7e6ed35f065a4df29f6c589 commit r14-2662-g49bed11d96cf727de7e6ed35f065a4df29f6c589 Author: GCC Administrator Date: Thu Jul 20 00:17:53 2023 +0000 Daily bump. Diff: --- gcc/ChangeLog | 124 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 9 ++++ gcc/cp/ChangeLog | 35 ++++++++++++++ gcc/fortran/ChangeLog | 8 ++++ gcc/m2/ChangeLog | 60 +++++++++++++++++++++++ gcc/testsuite/ChangeLog | 110 ++++++++++++++++++++++++++++++++++++++++++ libcpp/ChangeLog | 21 ++++++++ libgcc/ChangeLog | 5 ++ libgomp/ChangeLog | 12 +++++ libstdc++-v3/ChangeLog | 119 ++++++++++++++++++++++++++++++++++++++++++++++ 11 files changed, 504 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 11ca33b2f2c..47b872b682d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,127 @@ +2023-07-19 Vladimir N. Makarov + + * lra-int.h (lra_update_fp2sp_elimination): New prototype. + (lra_asm_insn_error): New prototype. + * lra-spills.cc (remove_pseudos): Add check for pseudo slot memory + existence. + (lra_spill): Call lra_update_fp2sp_elimination. + * lra-eliminations.cc: Remove trailing spaces. + (elimination_fp2sp_occured_p): New static flag. + (lra_eliminate_regs_1): Set the flag up. + (update_reg_eliminate): Modify the assert for stack to frame + pointer elimination. + (lra_update_fp2sp_elimination): New function. + (lra_eliminate): Clear flag elimination_fp2sp_occured_p. + +2023-07-19 Andrew Carlotti + + * config/aarch64/aarch64.h (TARGET_MEMTAG): Remove armv8.5 + dependency. + * config/aarch64/arm_acle.h: Remove unnecessary armv8.x + dependencies from target pragmas. + * config/aarch64/arm_fp16.h (target): Likewise. + * config/aarch64/arm_neon.h (target): Likewise. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110252 + * tree-ssa-phiopt.cc (class auto_flow_sensitive): New class. + (auto_flow_sensitive::auto_flow_sensitive): New constructor. + (auto_flow_sensitive::~auto_flow_sensitive): New deconstructor. + (match_simplify_replacement): Temporarily + remove the flow sensitive info on the two statements that might + be moved. + +2023-07-19 Andrew Pinski + + * gimple-fold.cc (fosa_unwind): Replace `vrange_storage *` + with flow_sensitive_info_storage. + (follow_outer_ssa_edges): Update how to save off the flow + sensitive info. + (maybe_fold_comparisons_from_match_pd): Update restoring + of flow sensitive info. + * tree-ssanames.cc (flow_sensitive_info_storage::save): New method. + (flow_sensitive_info_storage::restore): New method. + (flow_sensitive_info_storage::save_and_clear): New method. + (flow_sensitive_info_storage::clear_storage): New method. + * tree-ssanames.h (class flow_sensitive_info_storage): New class. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110726 + * match.pd ((a|b)&(a==b),a|(a==b),(a&b)|(a==b)): + Add checks to make sure the type was one bit precision + intergal type. + +2023-07-19 Ju-Zhe Zhong + + * doc/md.texi: Add mask_len_fold_left_plus. + * internal-fn.cc (mask_len_fold_left_direct): Ditto. + (expand_mask_len_fold_left_optab_fn): Ditto. + (direct_mask_len_fold_left_optab_supported_p): Ditto. + * internal-fn.def (MASK_LEN_FOLD_LEFT_PLUS): Ditto. + * optabs.def (OPTAB_D): Ditto. + +2023-07-19 Jakub Jelinek + + * tree-switch-conversion.h (class bit_test_cluster): Fix comment typo. + +2023-07-19 Jakub Jelinek + + PR tree-optimization/110731 + * wide-int.cc (wi::divmod_internal): Always unpack dividend and + divisor as UNSIGNED regardless of sgn. + +2023-07-19 Lehua Ding + + * common/config/riscv/riscv-common.cc (riscv_supported_std_ext): Init. + (standard_extensions_p): Add check. + (riscv_subset_list::add): Just return NULL if it failed before. + (riscv_subset_list::parse_std_ext): Continue parse when find a error + (riscv_subset_list::parse): Just return NULL if it failed before. + * config/riscv/riscv-subset.h (class riscv_subset_list): Add field. + +2023-07-19 Jan Beulich + + * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): + Use gen_vec_set_0. + (ix86_expand_vector_extract): Use gen_vec_extract_lo / + gen_vec_extract_hi. + (expand_vec_perm_broadcast_1): Use gen_vec_interleave_high / + gen_vec_interleave_low. Rename local variable. + +2023-07-19 Jan Beulich + + * config/i386/sse.md (vec_dupv2df): Add new AVX512F + alternative. Move AVX512VL part of condition to new "enabled" + attribute. + +2023-07-19 liuhongt + + PR target/109504 + * config/i386/i386-builtins.cc + (ix86_register_float16_builtin_type): Remove TARGET_SSE2. + (ix86_register_bf16_builtin_type): Ditto. + * config/i386/i386-c.cc (ix86_target_macros): When TARGET_SSE2 + isn't available, undef the macros which are used to check the + backend support of the _Float16/__bf16 types when building + libstdc++ and libgcc. + * config/i386/i386.cc (construct_container): Issue errors for + HFmode/BFmode when TARGET_SSE2 is not available. + (function_value_32): Ditto. + (ix86_scalar_mode_supported_p): Remove TARGET_SSE2 for HFmode/BFmode. + (ix86_libgcc_floating_mode_supported_p): Ditto. + (ix86_emit_support_tinfos): Adjust codes. + (ix86_invalid_conversion): Return diagnostic message string + when there's conversion from/to BF/HFmode w/o TARGET_SSE2. + (ix86_invalid_unary_op): New function. + (ix86_invalid_binary_op): Ditto. + (TARGET_INVALID_UNARY_OP): Define. + (TARGET_INVALID_BINARY_OP): Define. + * config/i386/immintrin.h [__SSE2__]: Remove for fp16/bf16 + related instrinsics header files. + * config/i386/i386.h (VALID_SSE2_TYPE_MODE): New macro. + 2023-07-18 Uros Bizjak * dwarf2asm.cc: Change FALSE to false. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 2292579c26f..4b8414aa23f 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20230719 +20230720 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 6b38d388941..e75656859b0 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,12 @@ +2023-07-19 David Malcolm + + PR analyzer/110700 + * region-model-manager.cc + (region_model_manager::get_or_create_int_cst): Assert that we have + an integral or pointer type. + * sm-taint.cc (taint_state_machine::check_for_tainted_divisor): + Don't check non-integral types. + 2023-06-29 benjamin priour PR analyzer/110198 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 968b81519dc..59491e545d9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,38 @@ +2023-07-19 Marek Polacek + + PR c++/110745 + * error.cc (dump_simple_decl): Print base class name. + +2023-07-19 Marek Polacek + + PR c++/110064 + * typeck2.cc (process_init_constructor_record): Don't emit + -Wmissing-field-initializers for empty classes. + +2023-07-19 Patrick Palka + + * pt.cc (type_unification_real): Test for PARM_DECL instead + of TEMPLATE_PARM_INDEX to distinguish a type vs non-type + template parameter pack. + (type_targs_deducible_from): Likewise. + +2023-07-19 Patrick Palka + + * pt.cc (tsubst_function_decl): Add defaulted 'use_spec_table' + flag parameter. Don't look up or insert into the specializations + table if 'use_spec_table' is false. + (tsubst_decl): Add defaulted 'use_spec_table' flag parameter. + Check for error_mark_node. + : Pass 'use_spec_table' to + tsubst_function_decl. + : Don't call coerce_template_parms. + Don't look up or insert into the specializations table if + 'use_spec_table' is false. Exit earlier if the substituted + type is erroneous and we're not complaining, and do so for + alias specializations as well. + (instantiate_template): Pass false as 'use_spec_table' + to tsubst_decl. Call register_specialization afterwards. + 2023-07-18 Jason Merrill * constexpr.cc (cxx_eval_bit_cast): Check that the result of diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index c64c52ef8ad..3663a74b981 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2023-07-19 Tobias Burnus + + PR fortran/107424 + * trans-openmp.cc (gfc_nonrect_loop_expr): Accept all + constant loop steps. + (gfc_trans_omp_do): Likewise; use sign to determine + loop direction. + 2023-07-17 Harald Anlauf PR fortran/95947 diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index 62824f210e7..718c6f5f901 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,63 @@ +2023-07-19 Gaius Mulley + + PR modula2/110284 + * Make-lang.in (m2_OBJS): Add m2/gm2-gcc/rtegraph.o and + m2/gm2-compiler-boot/m2flex.o. + (c-family/m2pp.o): Remove. + * Make-maintainer.in (c-family/m2pp.o): Add. + +2023-07-19 Gaius Mulley + + * gm2-compiler/M2Quads.mod (BuildDifAdrFunction): Removed + unnecessary in error message. Use vartok for location. + (BuildOddFunction): Use optok for location. + (BuildAbsFunction): Use vartok for location. Bugfix set vartok. + (BuildCapFunction): Use optok for location. + (BuildOrdFunction): Use optok for location and correct format + specifier. + (BuildShiftFunction): Use vartok for location. + (BuildRotateFunction): Use vartok for location. + (BuildTruncFunction): Use vartok for location. + (BuildFloatFunction): Use vartok for location. + (BuildReFunction): Use vartok for location. + (BuildImFunction): Use vartok for location. + * gm2-compiler/M2SymInit.mod (trashParam): Remove commented code. + +2023-07-19 Gaius Mulley + + * gm2-compiler/M2Quads.mod (BuildRealFuncProcCall): Set the trash + parameter value to NIL if DEALLOCATE is detected. + * gm2-compiler/M2SymInit.mod (CheckDeferredRecordAccess): Pass + tok to SetVarInitialized. Pass tok to GetVarComponentInitialized. + (ComponentFindVar): Add tok parameter. Check aliased pointer + against Nil and generate warning if necessary. + (deRefComponent): Add tok and sym parameters and pass them to + getContent. + (SetVarComponentInitialized): Add tok parameter. Pass tok to + ComponentFindVar. Pass tok and sym to deRefComponent. + (GetVarComponentInitialized): Add tok parameter. Pass tok to + ComponentFindVar. Pass tok to deRefComponent. + (SetVarInitialized): Add tok parameter. Pass tok to + SetVarComponentInitialized. + (doGetVarInitialized): Add tok parameter. Pass tok to + GetVarComponentInitialized. + (CheckXIndr): Pass lhs and lhstok to getContent. + (CheckIndrX): Pass rhs and rhstok to getContent. + (CheckBecomes): Pass destok to ComponentFindVar. Pass des and + destok to deRefComponent. + (CheckAddr): Pass contenttok to GetVarInitialized. Pass ptrtok + to SetVarInitialized. + (CheckReadBeforeInitQuad): Pass op1tok to SetVarInitialized for + op1 cases and op3tok for op3 cases. + (trashParam): Get operand tokens. Pass op3tok to + SetVarInitialized. Pass op3 and op3tok to getContent. + Alias ptr to NIL if procedure is DEALLOCATE. Pass op3tok to + SetVarInitialized. + (IsDeallocate): New procedure function. + (DetectTrash): Use IsDeallocate. + (SetupLAlias): Allow exp to be Nil. + (getContent): Generate warning message if ptr is Nil. + 2023-07-18 Gaius Mulley * Make-lang.in: Minor formatting change. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 125c20928ac..4345065bb9f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,113 @@ +2023-07-19 Marek Polacek + + PR c++/110745 + * g++.dg/diagnostic/base.C: New test. + +2023-07-19 David Malcolm + + PR analyzer/110700 + * gcc.dg/analyzer/taint-divisor-2.c: New test. + +2023-07-19 Marek Polacek + + PR c++/110064 + * g++.dg/warn/Wmissing-field-initializers-3.C: New test. + +2023-07-19 Vladimir N. Makarov + + * gcc.target/avr/lra-elim.c: New test. + +2023-07-19 Gaius Mulley + + * gm2/errors/fail/badabs.mod: New test. + * gm2/errors/fail/badenum.mod: New test. + +2023-07-19 Andrew Carlotti + + * gcc.target/aarch64/feature-bf16-backport.c: New test. + * gcc.target/aarch64/feature-dotprod-backport.c: New test. + * gcc.target/aarch64/feature-fp16-backport.c: New test. + * gcc.target/aarch64/feature-fp16-scalar-backport.c: New test. + * gcc.target/aarch64/feature-fp16fml-backport.c: New test. + * gcc.target/aarch64/feature-i8mm-backport.c: New test. + * gcc.target/aarch64/feature-memtag-backport.c: New test. + * gcc.target/aarch64/feature-sha3-backport.c: New test. + * gcc.target/aarch64/feature-sm4-backport.c: New test. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110252 + * gcc.dg/tree-ssa/phi-opt-25b.c: Updated as + __builtin_parity loses the nonzerobits info. + * gcc.c-torture/execute/pr110252-1.c: New test. + * gcc.c-torture/execute/pr110252-2.c: New test. + * gcc.c-torture/execute/pr110252-3.c: New test. + * gcc.c-torture/execute/pr110252-4.c: New test. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110726 + * gcc.c-torture/execute/bitops-1.c: New test. + +2023-07-19 Gaius Mulley + + * gm2/switches/uninit-variable-checking/procedures/fail/testdispose.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testdispose2.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnil.mod: New test. + +2023-07-19 Jakub Jelinek + + PR tree-optimization/110731 + * gcc.dg/pr110731.c: New test. + +2023-07-19 Maciej W. Rozycki + + * gcc.dg/vect/bb-slp-pr95839-v8.c: New test. + +2023-07-19 Tobias Burnus + + PR fortran/107424 + * gfortran.dg/gomp/linear-2.f90: Update dump to remove + the additional count variable. + +2023-07-19 Lehua Ding + + * gcc.target/riscv/arch-2.c: Update -march. + * gcc.target/riscv/arch-3.c: Ditto. + * gcc.target/riscv/arch-5.c: Ditto. + * gcc.target/riscv/arch-8.c: Ditto. + * gcc.target/riscv/attribute-10.c: Ditto. + * gcc.target/riscv/attribute-18.c: Ditto. + * gcc.target/riscv/attribute-19.c: Ditto. + * gcc.target/riscv/attribute-8.c: Ditto. + * gcc.target/riscv/attribute-9.c: Ditto. + * gcc.target/riscv/pr102957.c: Ditto. + * gcc.target/riscv/arch-22.cc: New test. + * gcc.target/riscv/arch-23.c: New file. + +2023-07-19 Lehua Ding + + * gcc.target/riscv/stack_save_restore.c: Moved to... + * gcc.target/riscv/stack_save_restore_2.c: ...here. + * gcc.target/riscv/stack_save_restore_1.c: New test. + +2023-07-19 Lewis Hyatt + + PR preprocessor/103902 + * g++.dg/cpp0x/udlit-extended-id-1.C: New test. + * g++.dg/cpp0x/udlit-extended-id-2.C: New test. + * g++.dg/cpp0x/udlit-extended-id-3.C: New test. + * g++.dg/cpp0x/udlit-extended-id-4.C: New test. + +2023-07-19 liuhongt + + * gcc.target/i386/pr109504.c: New test. + * gcc.target/i386/sse2-bfloat16-1.c: Adjust error info. + * gcc.target/i386/sse2-float16-1.c: Ditto. + * gcc.target/i386/sse2-float16-4.c: New test. + * gcc.target/i386/sse2-float16-5.c: New test. + * g++.target/i386/float16-1.C: Adjust error info. + 2023-07-18 Marek Polacek PR c++/110340 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 52c752335e7..3fb8a43f9c6 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,24 @@ +2023-07-19 Lewis Hyatt + + PR preprocessor/103902 + * lex.cc (identifier_diagnostics_on_lex): New function refactoring + some common code. + (lex_identifier_intern): Use the new function. + (lex_identifier): Don't run identifier diagnostics here, rather let + the call site do it when needed. + (_cpp_lex_direct): Adjust the call sites of lex_identifier () + acccordingly. + (struct scan_id_result): New struct. + (scan_cur_identifier): New function. + (create_literal2): New function. + (lit_accum::create_literal2): New function. + (is_macro): Folded into new function... + (maybe_ignore_udl_macro_suffix): ...here. + (is_macro_not_literal_suffix): Folded likewise. + (lex_raw_string): Handle UTF-8 in UDL suffix via + scan_cur_identifier (). + (lex_string): Likewise. + 2023-07-06 Thomas Schwinge * include/symtab.h (struct ht_identifier): Document different diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index e62674676d1..e8d950cf655 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2023-07-19 liuhongt + + * config/i386/t-softfp: Add -msse2 to libbid HFtype related + files. + 2023-07-11 Florian Weimer PR libgcc/110179 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index a5671bde656..4f4fedb4581 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,15 @@ +2023-07-19 Tobias Burnus + + PR fortran/107424 + * libgomp.texi (Impl. Status 5.0): Add link to new PR110735. + * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable + commented tests. + * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove + test file; tests are in non-rectangular-loop-1.f90. + * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change + testcase to use a non-constant step to retain the 'sorry' test. + * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test. + 2023-07-17 Tobias Burnus Chung-Lin Tang diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9cdd52b5e9c..b30828546ef 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,122 @@ +2023-07-19 Jonathan Wakely + + PR libstdc++/110077 + * src/c++17/floating_from_chars.cc (from_chars): Only define + _Float128 overload when using __strfromf128. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110593 + * include/bits/chrono.h (duration): Improve static assert + messages. + (__is_ratio): Move to ... + * include/std/ratio (__is_ratio): ... here. + (__is_ratio_v): New variable template and partial + specialization. + (__are_both_ratios): New function template. + (__ratio_multiply, ratio_equal, ratio_less, __ratio_add): + Add static assertion. + * testsuite/20_util/ratio/requirements/type_constraints.cc: + New test. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: + Adjust expected error. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: + Likewise. + +2023-07-19 Jonathan Wakely + + * include/bits/chrono_io.h (__formatter_chrono::_M_format): + Do not set __is_neg for hh_mm_ss before calling + _M_format_to_ostream. Change __print_sign lambda to only check + __is_neg for durations and hh_mm_ss types. + (__formatter_chrono::_M_format_to_ostream): Only check __is_neg + for duration types. + * testsuite/std/time/hh_mm_ss/io.cc: Check negative values. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110719 + * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds): + Handle duration and hh_mm_ss. + * testsuite/20_util/duration/io.cc: Check locale-specific + formats. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + +2023-07-19 Jonathan Wakely + + * include/std/format (__write_padded): Initialize first element + of array to avoid a -Wmaybe-uninitialized warning. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110719 + * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix + allowed modifiers for %z and %Z. Fix -Wparentheses and + -Wnarrowing warnings. + (__formatter_chrono::_M_format): Call new functions for %d, %e, + %H, %I, %m and %M. + (__formatter_chrono::_M_c): Use _S_floor_seconds to remove + subsecond precision. + (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle + modifiers. + (__formatter_chrono::_M_e): Replace with _M_d_e and use + _M_locale_fmt. + (__formatter_chrono::_M_I): Replace with _M_H_I and use + _M_locale_fmt. + (__formatter_chrono::_M_m): New function. + (__formatter_chrono::_M_M): New function. + (__formatter_chrono::_M_r): Use _M_locale_fmt. + (__formatter_chrono::_M_S): Likewise. + (__formatter_chrono::_M_u_w): Likewise. + (__formatter_chrono::_M_U_V_W): Likewise. + (__formatter_chrono::_M_X): Use _S_floor_seconds. + (__formatter_chrono::_M_Z): Fix untested branch for wchar_t. + (__formatter_chrono::_S_altnum): Remove function. + (__formatter_chrono::_S_dd_zero_fill): Remove function. + (__formatter_chrono::_S_floor_seconds): New function. + (__formatter_chrono::_M_locale_fmt): New function. + * testsuite/std/time/clock/system/io.cc: Adjust expected output + for locale-specific formats and check modified formats. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: New test. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110708 + * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only + allow a single modifier. + * testsuite/std/time/format.cc: Check multiple modifiers. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110653 + * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: + Remove dg-require-string-conversions. + * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: + Likewise. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110653 + * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof): + Define in terms of std::stod. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110653 + * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof): + Define. + [_GLIBCXX_HAVE_STRTOLD] (stold): Define. + * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof): + Declare in namespace std. + [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise. + 2023-07-13 Jonathan Wakely PR libstdc++/110653