From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 6AE8D3858C33; Tue, 8 Nov 2022 00:18:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6AE8D3858C33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1667866714; bh=qr0hVO2/ER4u0cwM/ddUpRT3DkBSJjYeqMveCaQN8+M=; h=From:To:Subject:Date:From; b=vDREUQXdn50pQhTnt9Krq2z0V1EbmVidGyWVbFz2rwEfF0KTpTO2zVEZOG9GDm6vQ 1evbj6Tbtpau9/XUGV/NLAD19XIT2qa2QdrBfpmPc9aXD1lAwiDg0aNR6dccsa2iZI y2aBuyik5Vvm5KwlWl3pGjMKqApDdaz/oEAeI7Zw= 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 r13-3764] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: b457b779427b0f7b3fbac447811c9c52db5bc79e X-Git-Newrev: f8d901d00e94e5a03c3321b37303eddd7c321ecb Message-Id: <20221108001834.6AE8D3858C33@sourceware.org> Date: Tue, 8 Nov 2022 00:18:34 +0000 (GMT) List-Id: https://gcc.gnu.org/g:f8d901d00e94e5a03c3321b37303eddd7c321ecb commit r13-3764-gf8d901d00e94e5a03c3321b37303eddd7c321ecb Author: GCC Administrator Date: Tue Nov 8 00:17:53 2022 +0000 Daily bump. Diff: --- gcc/ChangeLog | 190 +++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 219 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/fortran/ChangeLog | 9 ++ gcc/testsuite/ChangeLog | 99 ++++++++++++++++++++++ libstdc++-v3/ChangeLog | 70 ++++++++++++++++ 6 files changed, 588 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d3b61e9690..35a83852b08 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,193 @@ +2022-11-07 David Faust + + * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo(). + +2022-11-07 Aldy Hernandez + + PR tree-optimization/55157 + * range-op.cc (operator_mult::wi_fold): Optimize multiplications + by powers of 2. + +2022-11-07 H.J. Lu + + PR middle-end/102566 + * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle + if (_5 < 0) and if (_5 >= 0). + +2022-11-07 Richard Purdie + + * file-prefix-map.cc (remap_filename): Handle NULL filenames. + +2022-11-07 Alexander Monakov + + PR tree-optimization/107505 + * tree-ssa-sink.cc (statement_sink_location): Additionally + reject ECF_RETURNS_TWICE calls. + +2022-11-07 Aldy Hernandez + + PR tree-optimization/107541 + * range-op.cc (operator_div::fold_range): Restrict power of 2 + optimization to positive numbers. + +2022-11-07 Richard Biener + + * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New. + (unswitch_predicate::unswitch_predicate): Initialize count. + (init_loop_unswitch_info): First collect candidates and + determine the outermost loop to unswitch. + (tree_ssa_unswitch_loops): First perform all guard hoisting, + then perform unswitching on innermost loop predicates. + (find_unswitching_predicates_for_bb): Keep track of the + most profitable predicate to unswitch on. + (tree_unswitch_single_loop): Unswitch given predicate if + not NULL. + +2022-11-07 Martin Liska + Gerald Pfeifer + + * doc/invoke.texi: Improve wording. + +2022-11-07 Martin Liska + + * range-op.cc: Add final override keywords. + +2022-11-07 Kewen Lin + + PR tree-optimization/107412 + * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ... + (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter + mask_p indicating it's for mask or length, and add some handlings for + IFN LEN_{LOAD,STORE}. + (gimple_fold_mask_load): Rename to ... + (gimple_fold_partial_load): ... this, add one parameter mask_p. + (gimple_fold_mask_store): Rename to ... + (gimple_fold_partial_store): ... this, add one parameter mask_p. + (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE}, + and adjust calls on gimple_fold_mask_load_store_mem_ref to + gimple_fold_partial_load_store_mem_ref. + +2022-11-07 Hu, Lin1 + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Grand Ridge. + * common/config/i386/i386-common.cc + (processor_names): Add grandridge. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h: + (enum processor_types): Add INTEL_GRANDRIDGE. + * config.gcc: Add -march=grandridge. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Handle grandridge. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Ditto. + * config/i386/i386-options.cc (m_GRANDRIDGE): New define. + (processor_cost_table): Add grandridge. + * config/i386/i386.h (enum processor_type): + Add PROCESSOR_GRANDRIDGE. + (PTA_GRANDRIDGE): Ditto. + * doc/extend.texi: Add grandridge. + * doc/invoke.texi: Ditto. + +2022-11-07 konglin1 + + * config/i386/i386.opt:Add -mprefer-remote-atomic. + * config/i386/sync.md (atomic_): + New define_expand. + (atomic_add): Rename to below one. + (atomic_add_1): To this. + (atomic_): Ditto. + (atomic__1): Ditto. + * doc/invoke.texi: Add -mprefer-remote-atomic. + +2022-11-07 konglin1 + + * common/config/i386/cpuinfo.h (get_available_features): + Detect raoint. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET, + OPTION_MASK_ISA2_RAOINT_UNSET): New. + (ix86_handle_option): Handle -mraoint. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_RAOINT. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + raoint. + * config.gcc: Add raointintrin.h + * config/i386/cpuid.h (bit_RAOINT): New. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __RAOINT__. + * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Add -mraoint. + * config/i386/sync.md (rao_a): New define insn. + * config/i386/i386.opt: Add option -mraoint. + * config/i386/x86gprintrin.h: Include raointintrin.h. + * doc/extend.texi: Document raoint. + * doc/invoke.texi: Document -mraoint. + * doc/sourcebuild.texi: Document target raoint. + * config/i386/raointintrin.h: New file. + +2022-11-07 Haochen Jiang + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Granite Rapids. + * common/config/i386/i386-common.cc: + (processor_names): Add graniterapids. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h + (enum processor_subtypes): Add INTEL_GRANTIERAPIDS. + * config.gcc: Add -march=graniterapids. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Handle graniterapids. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Ditto. + * config/i386/i386-options.cc (m_GRANITERAPIDS): New. + (processor_cost_table): Add graniterapids. + * config/i386/i386.h (enum processor_type): + Add PROCESSOR_GRANITERAPIDS. + (PTA_GRANITERAPIDS): Ditto. + * doc/extend.texi: Add graniterapids. + * doc/invoke.texi: Ditto. + +2022-11-07 Haochen Jiang + Hongtao Liu + + * common/config/i386/cpuinfo.h (get_available_features): + Detect PREFETCHI. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_PREFETCHI_SET, + OPTION_MASK_ISA2_PREFETCHI_UNSET): New. + (ix86_handle_option): Handle -mprefetchi. + * common/config/i386/i386-cpuinfo.h + (enum processor_features): Add FEATURE_PREFETCHI. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY + for prefetchi. + * config.gcc: Add prfchiintrin.h. + * config/i386/cpuid.h (bit_PREFETCHI): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT) + and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define __PREFETCHI__. + * config/i386/i386-expand.cc: Handle new builtins. + * config/i386/i386-isa.def (PREFETCHI): + Add DEF_PTA(PREFETCHI). + * config/i386/i386-options.cc + (ix86_valid_target_attribute_inner_p): Handle prefetchi. + * config/i386/i386.md (prefetchi): New define_insn. + * config/i386/i386.opt: Add option -mprefetchi. + * config/i386/predicates.md (local_func_symbolic_operand): + New predicates. + * config/i386/x86gprintrin.h: Include prfchiintrin.h. + * config/i386/xmmintrin.h (enum _mm_hint): New enum for + prefetchi. + (_mm_prefetch): Handle the highest bit of enum. + * doc/extend.texi: Document prefetchi. + * doc/invoke.texi: Document -mprefetchi. + * doc/sourcebuild.texi: Document target prefetchi. + * config/i386/prfchiintrin.h: New file. + 2022-11-06 Uroš Bizjak * optabs.cc (can_vec_set_var_idx_p): Use operand[2] diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 0503ed97af3..f47121e1a89 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20221107 +20221108 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 4b0877b2de5..f74024705c0 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,222 @@ +2022-11-07 Cedric Landet + + * doc/gnat_ugn/gnat_and_program_execution.rst: Mention the needed + -no-pie for windows to use gprof. + * gnat_ugn.texi: Regenerate. + +2022-11-07 Piotr Trojanek + + * lib-xref.adb (Hash): Tune hash function. + +2022-11-07 Piotr Trojanek + + * sem_prag.adb (Non_Significant_Pragma_Reference): Detect + references with aggregates; only assign local variables Id and C + when necessary. + +2022-11-07 Bob Duff + + * exp_ch4.adb + (Component_Equality, Expand_Array_Equality) + (Expand_Record_Equality): Use named notation. + +2022-11-07 Bob Duff + + * exp_ch4.adb + (Expand_Array_Equality): Do not test Ltyp = Rtyp here, because + that is necessarily true. Move assertion thereof to more general + place. + (Expand_Composite_Equality): Pass in Outer_Type, for use in + warnings. Rename Typ to be Comp_Type, to more clearly distinguish + it from Outer_Type. Print warning when appropriate. + * exp_ch4.ads: Minor comment fix. + * errout.ads: There is no such pragma as Warning_As_Pragma -- + Warning_As_Error must have been intended. Improve comment for ?x?. + * exp_ch3.adb + (Build_Untagged_Equality): Update comment to be accurate for more + recent versions of Ada. + * sem_case.adb + (Choice_Analysis): Declare user-defined "=" functions as abstract. + * sem_util.ads + (Is_Bounded_String): Give RM reference in comment. + * warnsw.ads, warnsw.adb + (Warn_On_Ignored_Equality): Implement new warning switch -gnatw_q. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document new warning switch. + * gnat_ugn.texi: Regenerate. + +2022-11-07 Piotr Trojanek + + * sem_aux.ads (Is_Body): Annotate with Inline. + * sem_util.ads (Is_Body_Or_Package_Declaration): Likewise. + +2022-11-07 Bob Duff + + * freeze.adb + (Build_Inherited_Condition_Pragmas): Do nothing if A_Post is + empty. + +2022-11-07 Quentin Ochem + Steve Baird + + * bindgen.adb: fixed the way the device init and final symbols are + computed, re-using the normal way these symbols would be computed + with a __device_ prefix. Also fixed the "is null;" procedure on + the host side which are not Ada 95, replaced with a procedure + raising an exception as it should never be called. Remove the + unused function Device_Ada_Final_Link_Name. + +2022-11-07 Steve Baird + + * opt.ads: Declare new string pointer variable, CUDA_Device_Library_Name. + Modify comments for existing Boolean variable Enable_CUDA_Device_Expansion. + * switch-b.adb: When "-d_c" switch is encountered, check that the next + character is an "'='; use the remaining characters to initialize + Opt.CUDA_Device_Library_Name. + * bindgen.adb: Remove (for now) most support for host-side invocation of + device-side finalization. Make use of the new CUDA_Device_Library_Name + in determining the string used to refer (on the host side) to the + device-side initialization procedure. Declare the placeholder routine + that is named in the CUDA_Execute pragma (and the CUDA_Register_Function + call) as an exported null procedure, rather than as an imported procedure. + It is not clear whether it is really necessary to specify the link-name + for this should-never-be-called subprogram on the host side, but for now it + shouldn't hurt to do so. + +2022-11-07 Piotr Trojanek + + * exp_ch6.adb (Expand_Protected_Subprogram_Call): Examine scope + tree and not the scope stack. + +2022-11-07 Piotr Trojanek + + * mdll.ads (Build_Import_Library): Fix grammar in comment. + * mdll.adb (Build_Import_Library): Directly execute code of a + nested routine; rename No_Lib_Prefix to Strip_Lib_Prefix. + +2022-11-07 Bob Duff + + * sem_warn.adb + (Check_For_Warnings): Remove unnecessary exception handler. + (Warn_On_Known_Condition): Suppress warning when we detect a True + or False that has been turned into a more complex expression + because True is represented as "nonzero". (Note that the complex + expression will subsequently be constant-folded to a Boolean True + or False). Also simplify to always print "condition is always ..." + instead of special-casing object names. The special case was + unhelpful, and indeed wrong when the expression is a literal. + +2022-11-07 Piotr Trojanek + + * checks.adb (Safe_To_Capture_In_Parameter_Value): Remove. + * sem_util.adb (Safe_To_Capture_Value): Stop search at the current + body. + +2022-11-07 Piotr Trojanek + + * sem_warn.adb (Warn_On_In_Out): Remove No_ prefix; flip return + values between True and False; adapt caller. + +2022-11-07 Piotr Trojanek + + * sem_ch13.adb (Add_Call): Just look at Instantiation_Depth. + * sem_ch3.adb (Derive_Subprograms): Likewise. + * sem_warn.adb (Check_References): Remove redundant filtering with + Instantiation_Depth that follows filtering with + Instantiation_Location. + * sinput.adb (Instantiation_Depth): Reuse Instantiation_Location. + +2022-11-07 Piotr Trojanek + + * sem_warn.adb + (No_Warn_On_In_Out): For subprograms we can simply call + Warnings_Off. + (Output_Non_Modified_In_Out_Warnings): Remove repeated + suppression. + +2022-11-07 Piotr Trojanek + + * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Reject boxes in + delta array aggregates. + +2022-11-07 Piotr Trojanek + + * sem_res.adb (Enclosing_Declaration_Or_Statement): Moved to + Sem_Util. + * sem_util.ads (Enclosing_Declaration_Or_Statement): Moved from + Sem_Res. + * sem_util.adb (Enclosing_Declaration_Or_Statement): Likewise. + +2022-11-07 Piotr Trojanek + + * sem_res.adb (Resolve): Only call Comes_From_Predefined_Lib_Unit + when its result might be needed. + +2022-11-07 Piotr Trojanek + + * sem_ch12.adb (Check_Generic_Actuals): Remove redundant parens; + refactor an excessive if-statement; remove repeated call to Node. + +2022-11-07 Piotr Trojanek + + * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Move + comment next to a condition that it describes. + +2022-11-07 Steve Baird + + * exp_put_image.adb + (Image_Should_Call_Put_Image): Correctly handle the case of an + inherited Put_Image aspect specification for a scalar type. + +2022-11-07 Piotr Trojanek + + * libgnarl/s-interr.adb: Tune whitespace. + +2022-11-07 Piotr Trojanek + + * libgnarl/s-interr.adb: Reorder context items and pragmas. + +2022-11-07 Piotr Trojanek + + * exp_ch4.adb + (Expand_Modular_Addition): Rewrite using Make_XXX calls. + (Expand_Modular_Op): Likewise. + (Expand_Modular_Subtraction): Likewise. + * exp_imgv.adb + (Expand_User_Defined_Enumeration_Image): Likewise. + +2022-11-07 Piotr Trojanek + + * checks.adb (Apply_Arithmetic_Overflow_Strict): Rewrite using a + newly created operator node. + * exp_ch4.adb (Expand_Array_Comparison): Likewise. + * exp_ch6.adb (Add_Call_By_Copy_Code): Rewriting actual parameter + using its own location and not the location of the subprogram + call. + * sem_warn.adb (Check_References): Looping with Original_Node is + no longer needed. + +2022-11-07 Piotr Trojanek + + * sem_prag.adb (Is_In_Context_Clause): Rewrite without negations + and inequalities. + +2022-11-07 Piotr Trojanek + + * sem_prag.adb (Analyze_Pragma [Pragma_Obsolescent]): Reject + misplaced pragma. + +2022-11-07 Piotr Trojanek + + * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warnings + about obsolescent functions just like we tag similar warnings for + packages and procedures. + +2022-11-07 Piotr Trojanek + + * exp_attr.adb (Expand_N_Attribute_Reference): Remove useless + skipping for attribute Input. + 2022-11-04 Justin Squirek * exp_attr.adb (Expand_N_Attribute_Reference): Skip operand diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 12002d9798f..69755e261a7 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2022-11-07 Tobias Burnus + + PR fortran/107508 + * trans-array.cc (gfc_alloc_allocatable_for_assignment): Fix + string-length check, plug memory leak, and avoid generation of + effectively no-op code. + * trans-expr.cc (alloc_scalar_allocatable_for_assignment): Extend + comment; minor cleanup. + 2022-11-03 Tobias Burnus * openmp.cc (gfc_match_omp_clauses): Permit derived types for diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index abf1d8f648e..e2232f687ba 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,102 @@ +2022-11-07 Aldy Hernandez + + PR tree-optimization/55157 + * gcc.dg/tree-ssa/pr55157.c: New test. + +2022-11-07 H.J. Lu + + PR middle-end/102566 + * g++.target/i386/pr102566-7.C + +2022-11-07 Nathan Sidwell + + * g++.dg/abi/lambda-tpl1.h: Add more cases. + * g++.dg/abi/lambda-tpl1-17.C: Add checks. + * g++.dg/abi/lambda-tpl1-18.C: Likewise. + * g++.dg/abi/lambda-tpl1-18vs17.C: Likewise. + +2022-11-07 Alexander Monakov + + PR tree-optimization/107505 + * gcc.dg/pr107505.c: New test. + +2022-11-07 Aldy Hernandez + + PR tree-optimization/107541 + * gcc.dg/tree-ssa/pr107541.c: New test. + +2022-11-07 Tobias Burnus + + PR fortran/107508 + * gfortran.dg/widechar_11.f90: New test. + +2022-11-07 konglin1 + + * gcc.target/i386/sse-22.c: Fix typo in pragma GCC target. + +2022-11-07 Kewen Lin + + PR tree-optimization/107412 + * gcc.target/powerpc/pr107412.c: New test. + * gcc.target/powerpc/p9-vec-length-epil-8.c: Adjust scan times for + folded LEN_LOAD. + +2022-11-07 Hu, Lin1 + + * g++.target/i386/mv16.C: Add grandridge. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2022-11-07 konglin1 + + * gcc.target/i386/raoint-atomic-fetch.c: New test. + +2022-11-07 konglin1 + + * g++.dg/other/i386-2.C: Add -mraoint. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mraoint. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add raoint target. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp: Add check_effective_target_raoint. + * gcc.target/i386/rao-helper.h: New test. + * gcc.target/i386/raoint-1.c: Ditto. + * gcc.target/i386/raoint-aadd-2.c: Ditto. + * gcc.target/i386/raoint-aand-2.c: Ditto. + * gcc.target/i386/raoint-aor-2.c: Ditto. + * gcc.target/i386/raoint-axor-2.c: Ditto. + * gcc.target/i386/x86gprintrin-1.c: Ditto. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Ditto. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + +2022-11-07 Haochen Jiang + + * g++.target/i386/mv16.C: Add graniterapids. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2022-11-07 Haochen Jiang + Hongtao Liu + + * g++.dg/other/i386-2.C: Add -mprefetchi. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/avx-1.c: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-13.c: Add -mprefetchi. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/x86gprintrin-1.c: Ditto. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Ditto. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + * gcc.target/i386/prefetchi-1.c: New test. + * gcc.target/i386/prefetchi-2.c: Ditto. + * gcc.target/i386/prefetchi-3.c: Ditto. + * gcc.target/i386/prefetchi-4.c: Ditto. + 2022-11-06 Patrick Palka * g++.dg/special/initpri3.C: New test. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fe270579d4a..5874c62a943 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,73 @@ +2022-11-07 Jakub Jelinek + + PR libstdc++/107562 + * src/c++17/floating_from_chars.cc (__strtof128): Put __asm before + __attribute__. + * src/c++17/floating_to_chars.cc (__strfromf128): Likewise. + +2022-11-07 Patrick Palka + + * include/std/ranges (as_rvalue_view): Define. + (enable_borrowed_range): Define. + (views::__detail::__can_as_rvalue_view): Define. + (views::_AsRvalue, views::as_rvalue): Define. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: New test. + +2022-11-07 Patrick Palka + + * include/std/ranges (__maybe_const_t): New alias for + __detail::__maybe_const_t. + (__detail::__cartesian_product_is_random_access): Define. + (__detail::__cartesian_product_common_arg): Define. + (__detail::__cartesian_product_is_bidirectional): Define. + (__detail::__cartesian_product_is_common): Define. + (__detail::__cartesian_product_is_sized): Define. + (__detail::__cartesian_is_sized_sentinel): Define. + (__detail::__cartesian_common_arg_end): Define. + (cartesian_product_view): Define. + (cartesian_product_view::_Iterator): Define. + (views::__detail::__can_cartesian_product_view): Define. + (views::_CartesianProduct, views::cartesian_product): Define. + * testsuite/std/ranges/cartesian_product/1.cc: New test. + +2022-11-07 Jakub Jelinek + + PR libstdc++/107468 + * src/c++17/fast_float/MERGE: Adjust for merge from upstream. + * src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were + upstreamed. + * src/c++17/fast_float/README.md: Merge from fast_float + 662497742fea7055f0e0ee27e5a7ddc382c2c38e commit. + * src/c++17/fast_float/fast_float.h: Likewise. + * testsuite/20_util/from_chars/pr107468.cc: New test. + +2022-11-07 Jakub Jelinek + + * include/std/charconv (from_chars, to_chars): Add _Float128 + overfloads if _GLIBCXX_HAVE_FLOAT128_MATH is defined. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export + _ZSt8to_charsPcS_DF128_, _ZSt8to_charsPcS_DF128_St12chars_format, + _ZSt8to_charsPcS_DF128_St12chars_formati and + _ZSt10from_charsPKcS0_RDF128_St12chars_format. + * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): + Define if needed. + (__strtof128): Declare. + (from_chars_impl): Handle _Float128. + (from_chars): New _Float128 overload if USE_STRTOF128_FOR_FROM_CHARS + is define. + * src/c++17/floating_to_chars.cc (__strfromf128): Declare. + (FLOAT128_TO_CHARS): Define even when _Float128 is supported and + wider than long double. + (F128_type): Use _Float128 for that case. + (floating_type_traits): Specialize for F128_type rather than + __float128. + (sprintf_ld): Add length argument. Handle _Float128. + (__floating_to_chars_shortest, __floating_to_chars_precision): + Pass length to sprintf_ld. + (to_chars): Add _Float128 overloads for the F128_type being + _Float128 cases. + * testsuite/20_util/to_chars/float128_c++23.cc: New test. + 2022-11-06 Patrick Palka * include/bits/atomic_wait.h (_detail::__platform_wait_alignment):