From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 0DBC83858414; Thu, 2 Dec 2021 00:17:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0DBC83858414 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-5702] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 860c56b5bc356960a4d0445dadc43ceddbe3c7e2 X-Git-Newrev: 40fa651e6041692339c8ae8d5e1b7db6949bb72c Message-Id: <20211202001705.0DBC83858414@sourceware.org> Date: Thu, 2 Dec 2021 00:17:05 +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: Thu, 02 Dec 2021 00:17:05 -0000 https://gcc.gnu.org/g:40fa651e6041692339c8ae8d5e1b7db6949bb72c commit r12-5702-g40fa651e6041692339c8ae8d5e1b7db6949bb72c Author: GCC Administrator Date: Thu Dec 2 00:16:33 2021 +0000 Daily bump. Diff: --- gcc/ChangeLog | 118 +++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 271 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/analyzer/ChangeLog | 7 ++ gcc/c-family/ChangeLog | 5 + gcc/cp/ChangeLog | 6 ++ gcc/d/ChangeLog | 14 +++ gcc/testsuite/ChangeLog | 95 +++++++++++++++++ libcpp/ChangeLog | 21 ++++ libphobos/ChangeLog | 5 + libstdc++-v3/ChangeLog | 75 ++++++++++++++ 11 files changed, 618 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8101a363ec..545af700d70 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,121 @@ +2021-12-01 Uroš Bizjak + + PR target/102811 + * config/i386/sse.md (VI2F): Remove mode iterator. + (VI2F_256_512): New mode iterator. + (vec_set_0): New insn pattern. + (vec_set_0>): Rename from vec_setmode. + Use VI2F_256_512 mode iterator instead of VI2F. + (*axv512fp16_movsh): Remove. + (_pinsr): Add (x,x,x) AVX2 alternative. + Do not disable V8HF mode insn on AVX2 targets. + (pinsrw -> pbroadcast + pblendw peephole2): New peephole. + (pinsrw -> pbroadcast + pblendw splitter): New post-reload splitter. + * config/i386/i386.md (extendhfsf): Call gen_vec_setv8hf_0. + * config/i386/i386-expand.c (ix86_expand_vector_set) + : Use vec_merge path for TARGET_AVX2. + +2021-12-01 Roger Sayle + Richard Biener + + * tree-ssa-loop-niter.c (number_of_iterations_until_wrap): + Check if simplify_using_initial_conditions allows us to + simplify the expression for may_be_zero. + * match.pd (X != C ? -X : -C -> -X): New transform. + (X != C ? ~X : ~C -> ~X): Likewise. + ((X+1) > Y ? -X : 1 -> X >= Y ? -X : 1): Likewise. + +2021-12-01 Peter Bergner + + PR middle-end/103127 + * gimplify.c (is_var_need_auto_init): Handle opaque types. + +2021-12-01 Iain Buclaw + + * common.opt (static-libphobos): Add option. + * config/darwin.h (LINK_SPEC): Substitute -lgphobos with libgphobos.a + when linking statically. + * gcc.c (driver_handle_option): Set -static-libphobos as always valid. + +2021-12-01 Jason Merrill + + PR c++/103310 + * fold-const.c (maybe_nonzero_address): Use get_create or get + depending on folding_initializer. + (fold_binary_initializer_loc): New. + * fold-const.h (fold_binary_initializer_loc): Declare. + * varasm.c (mark_weak): Don't use the decl location. + * doc/invoke.texi: Document -fconstexpr-fp-except. + +2021-12-01 Bill Schmidt + + PR target/102347 + * config/rs6000/rs6000-c.c (rs6000-builtins.h): Stop including. + (rs6000-internal.h): Include. + (altivec_resolve_new_overloaded_builtin): Move call to + rs6000_invalid_new_builtin here from rs6000_new_builtin_decl. + * config/rs6000/rs6000-call.c (rs6000-builtins.h): Stop including. + (rs6000_invalid_new_builtin): Remove static qualifier. + (rs6000_new_builtin_decl): Remove test for supported builtin. + * config/rs6000/rs6000-internal.h (rs6000-builtins.h): Include. + (rs6000_invalid_new_builtin): Declare. + * config/rs6000/rs6000.c (rs6000-builtins.h): Don't include. + +2021-12-01 Aldy Hernandez + + PR tree-optimization/103409 + * gimple-range-path.cc (path_range_query::compute_ranges_in_phis): + Do all the work with just one ssa_global_cache. + * gimple-range-path.h: Remove m_tmp_phi_cache. + +2021-12-01 Richard Sandiford + + PR tree-optimization/103517 + * tree-vect-slp.c (vect_build_slp_tree_1): When allowing two + different component references, check the codes of both them, + rather than just the first. + +2021-12-01 Andrew MacLeod + + PR tree-optimization/103464 + * gimple-range.cc (gimple_ranger::prefill_name): Process phis also. + (gimple_ranger::prefill_stmt_dependencies): Ditto. + +2021-12-01 Iain Buclaw + + * doc/install.texi (Prerequisites): Add note that D front end now + requires GDC installed in order to bootstrap. + (Building): Add D compiler section, referencing prerequisites. + +2021-12-01 Jakub Jelinek + + * config/i386/x86-tune.def (X86_TUNE_SCHEDULE, + X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY, + X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Formatting fixes. + (X86_TUNE_USE_GATHER): Put m_GENERIC last for consistency. + +2021-12-01 Jakub Jelinek + + PR rtl-optimization/102356 + * rtl.h (simplify_context): Add assoc_count member and + max_assoc_count static member. + * simplify-rtx.c (simplify_associative_operation): Don't reassociate + more than max_assoc_count times within one outermost simplify_* call. + * dwarf2out.c (mem_loc_descriptor): Optimize binary operation + with both operands the same using DW_OP_dup. + +2021-12-01 Tamar Christina + + * match.pd: Move below pattern that rewrites to EQ, NE. + * tree.c (bitmask_inv_cst_vector_p): Correct do .. while indentation. + +2021-12-01 Siddhesh Poyarekar + Martin Liška + + PR tree-optimization/103456 + * tree-object-size.c (merge_object_sizes): Update osi->changed + only if object_sizes_set succeeded. + 2021-11-30 liuhongt PR target/103463 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index d78b1941af4..428bbfd74ca 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20211201 +20211202 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 411115da471..b9c6e594134 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,274 @@ +2021-12-01 Eric Botcazou + + * einfo.ads (E_Decimal_Fixed_Point_Subtype): Fix pasto. + * freeze.adb (Freeze_Fixed_Point_Type): Retrieve the underlying type + of the first subtype and do not use a stale value of Small_Value. + * sem_res.adb (Resolve_Real_Literal): In the case of a fixed-point + type, make sure that the base type is frozen and use its Small_Value + to compute the corresponding integer value of the literal. + +2021-12-01 Piotr Trojanek + + * libgnat/a-cbdlli.ads (List): Remove extra space in Aggregate + aspect. + +2021-12-01 Gary Dismukes + + * doc/gnat_rm/implementation_defined_pragmas.rst: Add + documentation of the new form of formal subprogram default in + the section on language extensions (pragma Extensions_Allowed). + * gnat_rm.texi: Regenerate. + * gen_il-gen-gen_nodes.adb: Add Expression as a syntactic field + of N_Formal_(Abstract|Concrete)_Subprogram_Declaration nodes. + * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing + support for the new default of a parenthesized expression for + formal functions. Issue an error when extensions are not + allowed, suggesting use of -gnatX. Update comment with extended + syntax for SUBPROGRAM_DEFAULT. + * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): Issue an + error when an expression default is given for an abstract formal + function. When a default expression is present for a formal + function, install the function's formals and preanalyze the + expression. + (Instantiate_Formal_Subprogram): Fix typo in RM paragraph in a + comment. When a formal function has a default expression, + create a body for the function that will evaluate the expression + and will be called when the default applies in an instantiation. + The implicit function is marked as inlined and as having + convention Intrinsic. + +2021-12-01 Eric Botcazou + + * sem_elab.adb (Previous_Suitable_Construct): New function declared + in the Early_Call_Region_Processor package. + (Find_ECR): Call it to get the previous node at the start. + (Include): Call it to get the previous node during the traversal. + +2021-12-01 Bob Duff + + * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not + follow the Corresponding_Spec pointer if Acts_As_Spec is True, + because Corresponding_Spec is Empty in that case, so we would + exit the loop prematurely, and incorrectly think we are not + inside a generic unit when we are. + +2021-12-01 Bob Duff + + * par-ch3.adb (P_Access_Type_Definition): If Not_Null_Subtype is + True, give an error in the access-to-subprogram cases. + +2021-12-01 Eric Botcazou + + * sem_ch12.adb (Freeze_Package_Instance): Move up. + +2021-12-01 Eric Botcazou + + * sem_ch12.adb (Freeze_Subprogram_Body): Rename into... + (Freeze_Subprogram_Instance): ...this and change the name of the + first parameter and local variables for the sake of consistency. + (Insert_Freeze_Node_For_Instance): Use local variable Par_Inst. + (Install_Body): Rename into... + (Freeze_Package_Instance): ...this, remove first parameter and + change the name of local variables for the sake of consistency. + Do not deal with the special case of incomplete actual types here + and do not insert the body. + (Instantiate_Package_Body): Deal with the special case of incomplete + actual types here and insert the body. Call Freeze_Package_Instance + only if expansion is done. + (Instantiate_Subprogram_Body): Minor consistency tweak. + +2021-12-01 Etienne Servais + + * sem_aggr.adb (Resolve_Aggregate): Fix typo in comment. + +2021-12-01 Steve Baird + + * sem_case.adb (Check_Bindings): Provide a second strategy for + implementing bindings and choose which strategy to use for a + given binding. The previous approach was to introduce a new + object and assign the bound value to the object. The new + approach is to introduce a renaming of a dereference of an + access value that references the appropriate subcomponent, so no + copies are made. The original strategy is still used if the + type of the object is elementary. When the renaming approach is + used, the initialization of the access value is not generated + until expansion. Until this missing initialization is added, the + tree looks like a known-at-compile-time dereference of a null + access value: Temp : Some_Access_Type; Obj : Designated_Type + renames Temp.all; This leads to problems, so a bogus initial + value is provided here and then later deleted during expansion. + (Check_Composite_Case_Selector): Disallow a case selector + expression that requires finalization. Note that it is ok if the + selector's type requires finalization, as long as the expression + itself doesn't have any "newly constructed" parts. + * exp_ch5.adb (Pattern_Match): Detect the case where analysis of + a general (i.e., composite selector type) case statement chose + to implement a binding as a renaming rather than by making a + copy. In that case, generate the assignments to initialize the + access-valued object whose designated value is later renamed + (and remove the bogus initial value for that object that was + added during analysis). + * sem_util.ads, sem_util.adb: Add new function + Is_Newly_Constructed corresponding to RM 4.4 term. + +2021-12-01 Richard Kenner + + * frontend.adb (Frontend): Do unnesting after ignored ghost code + has been removed. + * inline.adb (Analyze_Inlined_Bodies): Don't put ignored ghost + entities on inlined subprogram list. + +2021-12-01 Ghjuvan Lacambre + + * libgnarl/s-tasren.adb (Timed_Task_Entry_Call): Replace + Defer_Abort and Undefer_Abort with Defer_Abort_Nestable and + Undefer_Abort_Nestable. + +2021-12-01 Ghjuvan Lacambre + + * exp_ch7.adb (Cleanup_Record): Don't process parent. + +2021-12-01 Justin Squirek + + * sem_attr.adb (Type_Key): Avoid premature use warnings when the + prefix is a generic actual. + +2021-12-01 Richard Kenner + + * gnat1drv.adb (Gnat1drv): Force generation of object file if + compilation unit is an ignored ghost. + +2021-12-01 Patrick Bernardi + + * tracebak.c: Add AArch64 RTEMS support. + +2021-12-01 Patrick Bernardi + + * init.c: Add __gnat_error_handler and __gnat_install_handler + for RTEMS. + +2021-12-01 Eric Botcazou + + * sprint.ads (Source_Dump): Fix typo in comment. + * sprint.adb (Source_Dump): Set Dump_Freeze_Null for both -gnatG + and -gnatD. + * switch-c.adb (Scan_Front_End_Switches) <'D'>: Remove obsolete + kludge. + +2021-12-01 Yannick Moy + + * einfo.ads (Direct_Primitive_Operations): Update the doc to + indicate that this field is used for all types now. + * sem_ch4.adb (Try_Object_Operation): Add parameter + Allow_Extensions set to True to pretend that extensions are + allowed. + * sem_ch4.ads: Same. + * sem_ch6.adb: Do not require Extensions_Allowed. + * sem_ch8.adb (Find_Selected_Component): Remove duplicate + "where" in comment. Improve the error messages regarding use of + prefixed calls. + +2021-12-01 Yannick Moy + + * sem_util.adb (Is_Extended_Precision_Floating_Point_Type): New + function. + * sem_util.ads (Is_Extended_Precision_Floating_Point_Type): New + function. + +2021-12-01 Piotr Trojanek + + * exp_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, + sem_elim.adb, sem_util.adb: Replace uses of Subprogram_Kind with + Is_Subprogram. + +2021-12-01 Piotr Trojanek + + * libgnat/a-coinho.ads: Sync whitespace with + a-coinho__shared.ads. + * libgnat/a-coinho__shared.ads: Sync whitespace with + a-coinho.ads. + +2021-12-01 Piotr Trojanek + + * Makefile.rtl (GNATRTL_TASKING_OBJS): Sort. + (GNATRTL_NONTASKING_OBJS): Sort. + +2021-12-01 Piotr Trojanek + + * Makefile.rtl: Remove extra whitespace in special compilation + rules. + +2021-12-01 Piotr Trojanek + + * doc/gnat_rm/the_gnat_library.rst (System.Atomic_Counters): + Sync description with comment in s-atocou.ads. + * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2021-12-01 Yannick Moy + + * sem_ch10.adb (Is_Private_Library_Unit): Move query to + Sem_Util for sharing. + * sem_ch7.adb (Analyze_Package_Body_Helper): Add continuation + message. + * sem_prag.adb (Analyze_Part_Of): Call new function + Is_Private_Library_Unit. + (Check_Valid_Library_Unit_Pragma): Specialize error messages on + misplaced pragmas. + (Analyze_Refined_State_In_Decl_Part): Recognize missing Part_Of + on object in private part. + * sem_util.adb (Check_State_Refinements): Add continuation + message. + (Find_Placement_In_State_Space): Fix detection of placement, + which relied wrongly on queries In_Package_Body/In_Private_Part + which do not provide the right information here for all cases. + (Is_Private_Library_Unit): Move query here for sharing. + * sem_util.ads (Is_Private_Library_Unit): Move query here for + sharing. + +2021-12-01 Gary Dismukes + + * sem_ch3.adb (Analyze_Full_Type_Declaration): If the full type + has a primitives list but its base type doesn't, set the base + type's list to the full type's list (covers certain constrained + cases, such as for arrays). + (Analyze_Incomplete_Type_Decl): Unconditionally initialize an + incomplete type's primitives list. + (Analyze_Subtype_Declaration): Unconditionally set a subtype's + primitives list to the base type's list, so the lists are + shared. + (Build_Derived_Private_Type): Unconditionally initialize a + derived private type's list to a new empty list. + (Build_Derived_Record_Type): Unconditionally initialize a + derived record type's list to a new empty list (now a single + call for tagged and untagged cases). + (Derived_Type_Declaration): Unconditionally initialize a derived + type's list to a new empty list in error cases (when Parent_Type + is undefined or illegal). + (Process_Full_View): Unconditionally copy the primitive + operations from the private view to the full view (rather than + conditioning it on whether extensions are enabled). + * sem_ch7.adb (New_Private_Type): Unconditionally initialize an + untagged private type's primitives list to a new empty list. + +2021-12-01 Etienne Servais + + * libgnat/a-cbhase.adb, libgnat/a-cborse.adb, + libgnat/a-cihase.adb, libgnat/a-ciorse.adb, + libgnat/a-cohase.adb, libgnat/a-coorse.adb + (Constant_Reference,Reference_Preserving_Key): Refactor using + the equivalence stated in the RM. + +2021-12-01 Piotr Trojanek + + * exp_ch3.adb (Make_Eq_Body): Refactor to avoid appending to an + empty list; also, when exiting early we will not create any + list; fix style in comment. + +2021-12-01 Piotr Trojanek + + * repinfo.adb (List_Entities): Simplify detection of entries; + refactor potentially redundant comparison. + 2021-11-29 Eric Gallager PR other/103021 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 6c51da2d558..04a307a708b 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,10 @@ +2021-12-01 David Malcolm + + PR analyzer/102471 + * region-model-reachability.cc (reachable_regions::handle_parm): + Treat all svalues within a compound parm has reachable, and those + wrapped in a cast. + 2021-11-29 David Malcolm PR analyzer/103217 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 6104dc69a96..fecfe7a89f1 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2021-12-01 Jason Merrill + + PR c++/103310 + * c.opt: Add -fconstexpr-fp-except. + 2021-11-29 Richard Biener * c-format.c (check_format_string): Remove spurious diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 72e099a0d37..241c35d96b7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2021-12-01 Jason Merrill + + PR c++/103310 + * constexpr.c (cxx_eval_binary_expression): Use + fold_binary_initializer_loc if manifestly cxeval. + 2021-11-30 Jason Merrill * cp-gimplify.c (genericize_if_stmt): Always build a COND_EXPR. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index c985f007803..78c8130bbc1 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,17 @@ +2021-12-01 Iain Buclaw + + * d-spec.cc (lang_specific_driver): Set SKIPOPT on -static-libstdc++ + and -static-libphobos only when target supports LD_STATIC_DYNAMIC. + Remove generate_option to re-add -static-libstdc++. + +2021-12-01 Iain Buclaw + + * gdc.texi (Runtime Options): Document -fcheckaction=, -fextern-std=, + -fpreview=, -frevert=. + (Code Generation): Document -fdump-c++-spec=, -fdump-c++-spec-verbose, + -fsave-mixins=. + (Warnings): Update list of supported -ftransitions=. + 2021-11-30 Iain Buclaw * dmd/MERGE: Merge upstream dmd b8384668f. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f6d0e96116a..a7b900f26f2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,98 @@ +2021-12-01 David Malcolm + + PR analyzer/102471 + * gcc.dg/analyzer/leak-3.c: New test. + +2021-12-01 Uroš Bizjak + + PR target/102881 + * gcc.target/i386/pr102811-1.c: New test. + * gcc.target/i386/avx512fp16-1c.c (dg-final): Update + scan-assembler-times scan strings for ia32 targets. + * gcc.target/i386/pr102327-1.c (dg-final): Ditto. + * gcc.target/i386/pr102811.c: Rename from ... + * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: ... this. + +2021-12-01 Roger Sayle + Richard Biener + + * gcc.dg/fold-condneg-1.c: New test case. + * gcc.dg/fold-condneg-2.c: New test case. + * gcc.dg/fold-condnot-1.c: New test case. + * gcc.dg/pr101145-1.c: New test case. + * gcc.dg/pr101145-2.c: New test case. + +2021-12-01 Peter Bergner + + PR middle-end/103127 + * gcc.target/powerpc/pr103127.c: New test. + +2021-12-01 Jason Merrill + + PR c++/103310 + * g++.dg/cpp0x/constexpr-fp-except1.C: New test. + * g++.dg/cpp1z/constexpr-if36.C: New test. + * gcc.dg/tree-ssa/nonzero-1.c: Now well-formed. + * gcc.dg/tree-ssa/nonzero-1a.c: New test. + +2021-12-01 Richard Sandiford + + PR tree-optimization/103517 + * gcc.dg/vect/pr103517.c: New test. + +2021-12-01 Alex Coplan + + * gcc.target/aarch64/aapcs64/macro-def.h (PTR): Fix typo in + comment. + +2021-12-01 Jakub Jelinek + + PR c++/100977 + * g++.dg/cpp/ucnid-1.C: Adjust expected diagnostics. + * g++.dg/cpp/ucnid-1-utf8.C: Likewise. + +2021-12-01 Jakub Jelinek + + PR rtl-optimization/102356 + * gcc.dg/pr102356.c: New test. + +2021-12-01 Jakub Jelinek + + PR preprocessor/103415 + * c-c++-common/cpp/va-opt-8.c: New test. + * c-c++-common/Wimplicit-fallthrough-38.c: New test. + +2021-12-01 Tamar Christina + + * gcc.dg/bic-bitmask-10.c: Moved to gcc.dg/vect/vect-bic-bitmask-10.c. + * gcc.dg/bic-bitmask-11.c: Moved to gcc.dg/vect/vect-bic-bitmask-11.c. + * gcc.dg/bic-bitmask-12.c: Moved to gcc.dg/vect/vect-bic-bitmask-12.c. + * gcc.dg/bic-bitmask-3.c: Moved to gcc.dg/vect/vect-bic-bitmask-3.c. + * gcc.dg/bic-bitmask-23.c: Moved to gcc.dg/vect/vect-bic-bitmask-23.c. + * gcc.dg/bic-bitmask-2.c: Moved to gcc.dg/vect/vect-bic-bitmask-2.c. + * gcc.dg/bic-bitmask-4.c: Moved to gcc.dg/vect/vect-bic-bitmask-4.c. + * gcc.dg/bic-bitmask-5.c: Moved to gcc.dg/vect/vect-bic-bitmask-5.c. + * gcc.dg/bic-bitmask-6.c: Moved to gcc.dg/vect/vect-bic-bitmask-6.c. + * gcc.dg/bic-bitmask-8.c: Moved to gcc.dg/vect/vect-bic-bitmask-8.c. + * gcc.dg/bic-bitmask-9.c: Moved to gcc.dg/vect/vect-bic-bitmask-9.c. + * gcc.dg/vect/vect-bic-bitmask-10.c: New file. + * gcc.dg/vect/vect-bic-bitmask-11.c: New file. + * gcc.dg/vect/vect-bic-bitmask-12.c: New file. + * gcc.dg/vect/vect-bic-bitmask-2.c: New file. + * gcc.dg/vect/vect-bic-bitmask-23.c: New file. + * gcc.dg/vect/vect-bic-bitmask-3.c: New file. + * gcc.dg/vect/vect-bic-bitmask-4.c: New file. + * gcc.dg/vect/vect-bic-bitmask-5.c: New file. + * gcc.dg/vect/vect-bic-bitmask-6.c: New file. + * gcc.dg/vect/vect-bic-bitmask-8.c: New file. + * gcc.dg/vect/vect-bic-bitmask-9.c: New file. + +2021-12-01 Siddhesh Poyarekar + Martin Liška + + PR tree-optimization/103456 + * gcc.dg/ubsan/pr103456.c: New test. + 2021-11-30 liuhongt * gcc.target/i386/pr103463.c: New test. diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 1c04bf2c1b2..f80d15dba15 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,24 @@ +2021-12-01 Jakub Jelinek + + PR c++/100977 + * init.c (struct lang_flags): Remove cxx23_identifiers. + (lang_defaults): Remove cxx23_identifiers initializers. + (cpp_set_lang): Don't copy cxx23_identifiers. + * include/cpplib.h (struct cpp_options): Adjust comment about + c11_identifiers. Remove cxx23_identifiers field. + * lex.c (warn_about_normalization): Use cplusplus instead of + cxx23_identifiers. + * charset.c (ucn_valid_in_identifier): Likewise. + +2021-12-01 Jakub Jelinek + + PR preprocessor/103415 + * macro.c (stringify_arg): Remove va_opt argument and va_opt handling. + (paste_tokens): On successful paste or in PREV_WHITE and + PREV_FALLTHROUGH flags from the *plhs token to the new token. + (replace_args): Adjust stringify_arg callers. For #__VA_OPT__, + perform token pasting in a separate loop before stringify_arg call. + 2021-11-30 Richard Biener * charset.c (convert_escape): Remove unreachable break. diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 7b574abdd07..4352d9caa68 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,8 @@ +2021-12-01 Iain Buclaw + + * testsuite/testsuite_flags.in: Add libphobos library directory as + search path to --gdcldflags. + 2021-11-30 Iain Buclaw * libdruntime/MERGE: Merge upstream druntime e6caaab9. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e7602224bfd..2d934f8e49c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,78 @@ +2021-12-01 Jonathan Wakely + + PR libstdc++/103501 + * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)): + Clear container if elements have been moved-from. + * testsuite/23_containers/map/allocator/move_cons.cc: Expect + moved-from container to be empty. + * testsuite/23_containers/multimap/allocator/move_cons.cc: + Likewise. + * testsuite/23_containers/multiset/allocator/103501.cc: New test. + * testsuite/23_containers/set/allocator/103501.cc: New test. + +2021-12-01 Jonathan Wakely + + * doc/doxygen/user.cfg.in (PREDEFINED): Change macro name. + * include/bits/allocator.h (allocate, deallocate): Use + std::__is_constant_evaluated() unconditionally, instead of + checking whether std::is_constant_evaluated() (or the built-in) + can be used. + * include/bits/basic_string.h: Check new macro. call + std::is_constant_evaluated() directly in C++20-only code that is + guarded by a suitable macro. + * include/bits/basic_string.tcc: Likewise. + * include/bits/c++config (__is_constant_evaluated): Define. + (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Replace with ... + (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED): New macro. + * include/bits/char_traits.h (char_traits): Replace conditional + calls to std::is_constant_evaluated with unconditional calls to + std::__is_constant_evaluated. + * include/bits/cow_string.h: Use new macro. + * include/bits/ranges_algobase.h (__copy_or_move): Replace + conditional calls to std::is_constant_evaluated with unconditional + calls to std::__is_constant_evaluated. + (__copy_or_move_backward, __fill_n_fn): Likewise. + * include/bits/ranges_cmp.h (ranges::less): Likewise. + * include/bits/stl_algobase.h (lexicographical_compare_three_way): + Likewise. + * include/bits/stl_bvector.h: Call std::is_constant_evaluated + directly in C++20-only code that is guarded by a suitable macro. + * include/bits/stl_construct.h (_Construct, _Destroy, _Destroy_n): + Replace is_constant_evaluated with __is_constant_evaluated. + * include/bits/stl_function.h (greater, less, greater_equal) + (less_equal): Replace __builtin_is_constant_evaluated and + __builtin_constant_p with __is_constant_evaluated. + * include/bits/stl_vector.h: Call std::is_constant_evaluated() + in C++20-only code. + * include/debug/helper_functions.h (__check_singular): Use + __is_constant_evaluated instead of built-in, or remove check + entirely. + * include/std/array (operator<=>): Use __is_constant_evaluated + unconditionally. + * include/std/bit (__bit_ceil): Likewise. + * include/std/type_traits (is_constant_evaluated): Define using + 'if consteval' if possible. + * include/std/version: Use new macro. + * libsupc++/compare: Use __is_constant_evaluated instead of + __builtin_is_constant_evaluated. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Adjust dg-error lines. + +2021-12-01 Jonathan Wakely + + * include/bits/cow_string.h (basic_string::_M_is_leaked): Use + non-atomic load when __is_single_threaded() is true. + (basic_string::_M_is_shared): Likewise. + (basic_string::(basic_string&&)) [_GLIBCXX_FULLY_DYNAMIC_STRING]: + Use non-atomic store when rvalue is not shared. + +2021-12-01 Jonathan Wakely + + * src/c++17/fs_path.cc (path::_M_split_cmpts()): Remove + micro-optimization for "/" path. + * src/filesystem/path.cc (path::_M_split_cmpts()): Only access + the contents of _M_pathname using const member functions. + 2021-11-30 Jonathan Wakely * testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow