Daily bump.

This commit is contained in:
GCC Administrator 2021-12-02 00:16:33 +00:00
parent 860c56b5bc
commit 40fa651e60
11 changed files with 618 additions and 1 deletions

View File

@ -1,3 +1,121 @@
2021-12-01 Uroš Bizjak <ubizjak@gmail.com>
PR target/102811
* config/i386/sse.md (VI2F): Remove mode iterator.
(VI2F_256_512): New mode iterator.
(vec_set<V8_128:mode>_0): New insn pattern.
(vec_set<VI2F_256_512:mode>_0>): Rename from vec_set<VI2F:mode>mode.
Use VI2F_256_512 mode iterator instead of VI2F.
(*axv512fp16_movsh): Remove.
(<sse2p4_1>_pinsr<ssemodesuffix>): 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)
<case E_V8HFmode>: Use vec_merge path for TARGET_AVX2.
2021-12-01 Roger Sayle <roger@nextmovesoftware.com>
Richard Biener <rguenther@suse.de>
* 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 <bergner@linux.ibm.com>
PR middle-end/103127
* gimplify.c (is_var_need_auto_init): Handle opaque types.
2021-12-01 Iain Buclaw <ibuclaw@gdcproject.org>
* 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 <jason@redhat.com>
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 <wschmidt@linux.ibm.com>
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 <aldyh@redhat.com>
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 <richard.sandiford@arm.com>
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 <amacleod@redhat.com>
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 <ibuclaw@gdcproject.org>
* 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 <jakub@redhat.com>
* 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 <jakub@redhat.com>
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 <tamar.christina@arm.com>
* 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 <siddhesh@gotplt.org>
Martin Liška <mliska@suse.cz>
PR tree-optimization/103456
* tree-object-size.c (merge_object_sizes): Update osi->changed
only if object_sizes_set succeeded.
2021-11-30 liuhongt <hongtao.liu@intel.com>
PR target/103463

View File

@ -1 +1 @@
20211201
20211202

View File

@ -1,3 +1,274 @@
2021-12-01 Eric Botcazou <ebotcazou@adacore.com>
* 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 <trojanek@adacore.com>
* libgnat/a-cbdlli.ads (List): Remove extra space in Aggregate
aspect.
2021-12-01 Gary Dismukes <dismukes@adacore.com>
* 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 <ebotcazou@adacore.com>
* 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 <duff@adacore.com>
* 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 <duff@adacore.com>
* 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 <ebotcazou@adacore.com>
* sem_ch12.adb (Freeze_Package_Instance): Move up.
2021-12-01 Eric Botcazou <ebotcazou@adacore.com>
* 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 <servais@adacore.com>
* sem_aggr.adb (Resolve_Aggregate): Fix typo in comment.
2021-12-01 Steve Baird <baird@adacore.com>
* 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 <kenner@adacore.com>
* 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 <lacambre@adacore.com>
* 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 <lacambre@adacore.com>
* exp_ch7.adb (Cleanup_Record): Don't process parent.
2021-12-01 Justin Squirek <squirek@adacore.com>
* sem_attr.adb (Type_Key): Avoid premature use warnings when the
prefix is a generic actual.
2021-12-01 Richard Kenner <kenner@adacore.com>
* gnat1drv.adb (Gnat1drv): Force generation of object file if
compilation unit is an ignored ghost.
2021-12-01 Patrick Bernardi <bernardi@adacore.com>
* tracebak.c: Add AArch64 RTEMS support.
2021-12-01 Patrick Bernardi <bernardi@adacore.com>
* init.c: Add __gnat_error_handler and __gnat_install_handler
for RTEMS.
2021-12-01 Eric Botcazou <ebotcazou@adacore.com>
* 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 <moy@adacore.com>
* 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 <moy@adacore.com>
* 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 <trojanek@adacore.com>
* 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 <trojanek@adacore.com>
* 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 <trojanek@adacore.com>
* Makefile.rtl (GNATRTL_TASKING_OBJS): Sort.
(GNATRTL_NONTASKING_OBJS): Sort.
2021-12-01 Piotr Trojanek <trojanek@adacore.com>
* Makefile.rtl: Remove extra whitespace in special compilation
rules.
2021-12-01 Piotr Trojanek <trojanek@adacore.com>
* 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 <moy@adacore.com>
* 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 <dismukes@adacore.com>
* 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 <servais@adacore.com>
* 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 <trojanek@adacore.com>
* 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 <trojanek@adacore.com>
* repinfo.adb (List_Entities): Simplify detection of entries;
refactor potentially redundant comparison.
2021-11-29 Eric Gallager <egallager@gcc.gnu.org>
PR other/103021

View File

@ -1,3 +1,10 @@
2021-12-01 David Malcolm <dmalcolm@redhat.com>
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 <dmalcolm@redhat.com>
PR analyzer/103217

View File

@ -1,3 +1,8 @@
2021-12-01 Jason Merrill <jason@redhat.com>
PR c++/103310
* c.opt: Add -fconstexpr-fp-except.
2021-11-29 Richard Biener <rguenther@suse.de>
* c-format.c (check_format_string): Remove spurious

View File

@ -1,3 +1,9 @@
2021-12-01 Jason Merrill <jason@redhat.com>
PR c++/103310
* constexpr.c (cxx_eval_binary_expression): Use
fold_binary_initializer_loc if manifestly cxeval.
2021-11-30 Jason Merrill <jason@redhat.com>
* cp-gimplify.c (genericize_if_stmt): Always build a COND_EXPR.

View File

@ -1,3 +1,17 @@
2021-12-01 Iain Buclaw <ibuclaw@gdcproject.org>
* 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 <ibuclaw@gdcproject.org>
* 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 <ibuclaw@gdcproject.org>
* dmd/MERGE: Merge upstream dmd b8384668f.

View File

@ -1,3 +1,98 @@
2021-12-01 David Malcolm <dmalcolm@redhat.com>
PR analyzer/102471
* gcc.dg/analyzer/leak-3.c: New test.
2021-12-01 Uroš Bizjak <ubizjak@gmail.com>
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 <roger@nextmovesoftware.com>
Richard Biener <rguenther@suse.de>
* 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 <bergner@linux.ibm.com>
PR middle-end/103127
* gcc.target/powerpc/pr103127.c: New test.
2021-12-01 Jason Merrill <jason@redhat.com>
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 <richard.sandiford@arm.com>
PR tree-optimization/103517
* gcc.dg/vect/pr103517.c: New test.
2021-12-01 Alex Coplan <alex.coplan@arm.com>
* gcc.target/aarch64/aapcs64/macro-def.h (PTR): Fix typo in
comment.
2021-12-01 Jakub Jelinek <jakub@redhat.com>
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 <jakub@redhat.com>
PR rtl-optimization/102356
* gcc.dg/pr102356.c: New test.
2021-12-01 Jakub Jelinek <jakub@redhat.com>
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 <tamar.christina@arm.com>
* 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 <siddhesh@gotplt.org>
Martin Liška <mliska@suse.cz>
PR tree-optimization/103456
* gcc.dg/ubsan/pr103456.c: New test.
2021-11-30 liuhongt <hongtao.liu@intel.com>
* gcc.target/i386/pr103463.c: New test.

View File

@ -1,3 +1,24 @@
2021-12-01 Jakub Jelinek <jakub@redhat.com>
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 <jakub@redhat.com>
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 <rguenther@suse.de>
* charset.c (convert_escape): Remove unreachable break.

View File

@ -1,3 +1,8 @@
2021-12-01 Iain Buclaw <ibuclaw@gdcproject.org>
* testsuite/testsuite_flags.in: Add libphobos library directory as
search path to --gdcldflags.
2021-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
* libdruntime/MERGE: Merge upstream druntime e6caaab9.

View File

@ -1,3 +1,78 @@
2021-12-01 Jonathan Wakely <jwakely@redhat.com>
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 <jwakely@redhat.com>
* 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 <jwakely@redhat.com>
* 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 <jwakely@redhat.com>
* 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 <jwakely@redhat.com>
* testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow