+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * gcc_update (files_and_dependencies): Update for
+ 'libformat_parser' in libgrust.
+
2024-07-19 Richard Biener <rguenther@suse.de>
* gcc-changelog/git_update_version.py: Remove gcc-11 branch.
+2024-08-01 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/116149
+ * config/riscv/vector.md: Fix mode_idx attribute of scalar
+ widen add/sub variants.
+
+2024-08-01 Patrick O'Neill <patrick@rivosinc.com>
+
+ PR target/116111
+ * config/riscv/riscv.cc (riscv_option_override): Add error.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-cores.def (cortex-x925): New.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * config/aarch64/tuning_models/cortexx925.h: New file.
+ * config/aarch64/aarch64.cc: Use it.
+ * doc/invoke.texi: Document it.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/tuning_models/neoversen2.h: Update costs.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/tuning_models/generic_armv9_a.h: Update costs.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-cores.def (neoverse-n3, cortex-a725): New.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * config/aarch64/tuning_models/neoversen3.h: New file.
+ * config/aarch64/aarch64.cc: Use it.
+ * doc/invoke.texi: Document it.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-cores.def (neoverse-v3ae): New.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * config/aarch64/tuning_models/neoversev3ae.h: New file.
+ * config/aarch64/aarch64.cc: Use it.
+ * doc/invoke.texi: Document it.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-cores.def (cortex-x4): Update.
+ (neoverse-v3): New.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * config/aarch64/tuning_models/neoversev3.h: New file.
+ * config/aarch64/aarch64.cc: Use it.
+ * doc/invoke.texi: Document it.
+
+2024-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-cores.def (cortex-x3): Use Neoverse-V2 costs.
+ * config/aarch64/tuning_models/neoversev2.h: Update costs.
+
+2024-08-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/116120
+ * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): Add test for `x != y`
+ in result.
+ (`(a ? x : y) eq/ne (b ? y : x)`): Add test for `x == y` in result.
+
+2024-08-01 liuhongt <hongtao.liu@intel.com>
+
+ PR target/116096
+ * config/i386/constraints.md (Wc): New constraint for integer
+ 1 or -1.
+ * config/i386/i386.md (ashl<mode>3_doubleword): Refine
+ constraint with Wc.
+
+2024-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114659
+ * tree-ssa-sccvn.cc (visit_reference_op_load): Do not
+ prevent punning from modes with padding here, but ...
+ (vn_reference_eq): ... ensure this here, also honoring
+ types with modes that cannot act as bit container.
+
+2024-08-01 Richard Biener <rguenther@suse.de>
+
+ * config/i386/i386.cc (TARGET_MODE_CAN_TRANSFER_BITS): Define.
+ (ix86_mode_can_transfer_bits): New function.
+
+2024-08-01 Richard Biener <rguenther@suse.de>
+
+ * target.def (mode_can_transfer_bits): New target hook.
+ * target.h (mode_can_transfer_bits): New function wrapping the
+ hook and providing default behavior.
+ * doc/tm.texi.in: Update.
+ * doc/tm.texi: Re-generate.
+
+2024-08-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (cbranch<mode>4_insn): Split to a test of the
+ high part against 0 if possible.
+
+2024-08-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/constraints.md (YMM): New constraint.
+ * config/avr/avr.md (cmp<mode>3, *cmp<mode>3)
+ (cbranch<mode>4_insn): Allow YMM where M is allowed.
+
+2024-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/115981
+ * config/i386/sse.md
+ (*<extract_type>_vinsert<shuffletype><extract_suf>_0): Swap the
+ first two VEC_MERGE operands, renumber match_operands and test
+ for 0xF or 0x3 rather than 0xFFF0 or 0xFC immediate.
+
+2024-08-01 Tobias Burnus <tburnus@baylibre.com>
+ Richard Biener <rguenther@suse.de
+
+ PR middle-end/115637
+ * gimplify.cc (gimplify_body): Fix macro name in the comment.
+ * omp-offload.cc (find_link_var_op): Rename to ...
+ (process_link_var_op): ... this. Replace value expr.
+ (pass_omp_target_link::execute): Update walk_gimple_stmt call.
+
+2024-08-01 Lingling Kong <lingling.kong@intel.com>
+ Hu, Lin1 <lin1.hu@intel.com>
+
+ PR target/113744
+ * config/i386/i386.md (*add<mode>_4): Remove ndd support.
+ (*adddi_4): Ditto.
+
+2024-08-01 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc (get_type_num_struct): Fix NULL pointer dereference.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-path.cc
+ (thread_event_printer::print_swimlane_for_event_range): Gracefully
+ handle logical_location::get_name_for_path_output returning null.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-format-sarif.cc
+ (sarif_location_manager::worklist_item::unlabelled_secondary_location):
+ New enum value.
+ (sarif_location_manager::m_unlabelled_secondary_locations): New
+ field.
+ (sarif_location_manager::process_worklist_item): Handle unlabelled
+ secondary locations.
+ (sarif_builder::make_location_object): Generalize code to handle
+ ranges within a rich_location so as well as using annotations for
+ those with labels, we now add related locations for those without
+ labels.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): Assert
+ that m_line_maps is nonnull.
+ (diagnostic_output_format_init_sarif_stderr): Add "line_maps"
+ param and pass to format ctor.
+ (diagnostic_output_format_init_sarif_file): Likewise.
+ (diagnostic_output_format_init_sarif_stream): Likewise.
+ * diagnostic.cc (diagnostic_output_format_init): Pass "line_table"
+ as line_maps param to the above.
+ * diagnostic.h (diagnostic_output_format_init_sarif_stderr): Add
+ "line_maps" param.
+ (diagnostic_output_format_init_sarif_file): Likewise.
+ (diagnostic_output_format_init_sarif_stream): Likewise.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-format-sarif.cc: Tweak ASCII art in comment
+ to show edges for both directions in the digraph.
+
2024-07-31 Andrew Pinski <quic_apinski@quicinc.com>
PR middle-end/116134
+2024-08-01 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strunb.adb (Realloc_For_Chunk): Fix computation of new
+ size.
+
+2024-08-01 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strbou.ads (To_String): Add a postcondition to state
+ the value of bounds of the returned string, which helps with proof
+ of callers.
+ * libgnat/a-strfix.adb (Delete): Fix implementation to produce
+ correct result in all cases. For example, returned string should
+ always have a lower bound of 1, which was not respected in one
+ case. This was not detected by proof, since this code was dead
+ according to the too strict precondition.
+ * libgnat/a-strfix.ads (Delete): State the correct precondition
+ from standard which allows a value of Through beyond the last
+ valid index, and also restricts values of From from below. Update
+ the Contract_Cases accordingly to allow new values of parameters.
+
+2024-08-01 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Don't check for duplicate
+ SPARK_Mode pragmas in configuration files.
+
+2024-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Resolve
+ overloaded prefixes that denote objects of reference types,
+ determining whether to use the prefix object directly, or expand
+ it as an explicit dereference.
+
+2024-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sinfo.ads (N_Block_Statement): Move At_End_Proc to the end of
+ slot list and alphabetize flag list.
+ (N_Subprogram_Body): Add At_End_Proc.
+ (N_Package_Body): Move At_End_Proc to the end of slot list.
+ (N_Subprogram_Body_Stub): Remove At_End_Proc.
+
+2024-08-01 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification):
+ Unconditionally set the type of loop parameter.
+
+2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * backend_utils.adb (Scan_Common_Back_End_Switch): Remove blank
+ line.
+ * errout.adb (Output_JSON_Message): Likewise.
+ * erroutc.adb (Set_Msg_Char): Likewise.
+ * exp_aggr.adb (Two_Dim_Packed_Array_Handled): Likewise.
+ * exp_pakd.adb (Expand_Packed_Address_Reference): Likewise.
+ (Expand_Packed_Bit_Reference): Likewise.
+ (Expand_Packed_Boolean_Operator): Likewise.
+ (Expand_Packed_Element_Reference): Likewise.
+ (Expand_Packed_Eq): Likewise.
+ (Expand_Packed_Not): Likewise.
+ * exp_prag.adb (Build_Dim3_Declaration): Likewise.
+ * exp_strm.adb (Build_Elementary_Input_Call): Likewise.
+ * freeze.adb (Find_Aspect_No_Parts): Likewise.
+ (Get_Aspect_No_Parts_Value): Likewise.
+ * gen_il-gen.adb (Compile): Likewise.
+ * gnat1drv.adb (Adjust_Global_Switches): Likewise.
+ * gnat_cuda.adb (Expand_CUDA_Package): Likewise.
+ * gnatchop.adb (Read_File): Likewise.
+ * gnatls.adb (Get_Runtime_Path): Likewise.
+ * make.adb (Binding_Phase): Likewise.
+ * par-ch11.adb (P_Exception_Choice): Likewise.
+ * par-ch5.adb (P_Loop_Parameter_Specification): Likewise.
+ * par-ch6.adb (Is_Extended): Likewise.
+ * sem_attr.adb (Check_Dereference): Likewise.
+ * sem_ch12.adb (Build_Subprogram_Decl_Wrapper): Likewise.
+ * sem_ch3.adb (Build_Itype_Reference): Likewise.
+ * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Likewise.
+ * sem_res.adb (Resolve_Declare_Expression): Likewise.
+ * sem_util.adb (Build_Default_Subtype): Likewise.
+ * sprint.adb (Sprint_Paren_Comma_List): Likewise.
+
+2024-08-01 Javier Miranda <miranda@adacore.com>
+
+ * par-ch2.adb (P_Interpolated_String_Literal): remove support of
+ multi-line string literals.
+ * doc/gnat_rm/gnat_language_extensions.rst: Update documentation.
+ * gnat_rm.texi: Regenerate.
+
+2024-08-01 Viljar Indus <indus@adacore.com>
+
+ * sem_warn.adb (Output_Obsolescent_Entity_Warnings): use the ?j?
+ in warning messages.
+
+2024-08-01 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Fix test for
+ expanded quantified expression context.
+ (Is_Expanded_Quantified_Expr): New function.
+
+2024-08-01 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Add_Predicate): Remove the premature "return;".
+ Ghost code needs to be processed by later code in this procedure
+ even when ignored; otherwise the second pass of name resolution
+ fails much later. However, protect Set_SCO_Pragma_Enabled and
+ Add_Condition with "if not Is_Ignored_Ghost_Pragma"; these parts
+ should not happen if the ghost code is Ignored.
+ * libgnat/interfac__2020.ads (Unsigned_8): Minor reformatting.
+ * libgnat/interfac.ads (IEEE_Extended_Float): Minor comment
+ improvement.
+
+2024-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (No_Return): Change description and adjust
+ accordingly.
+ * gen_il-gen-gen_entities.adb (Entity_Kind): Remove No_Return.
+ (Subprogram_Kind): Add No_Return.
+ (Generic_Subprogram_Kind): Likewise.
+ * sem_ch6.adb (Analyze_Return_Statement): Adjust No_Return test.
+
+2024-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/gnat_rm/gnat_language_extensions.rst (Generalized
+ Finalization): Update status.
+ * einfo.ads (Has_Relaxed_Finalization): Add more details.
+ * exp_ch4.adb (Process_Transients_In_Expression): Invoke
+ Make_Finalize_Call_For_Node instead of building the call.
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Do not set up an
+ exception handler around the assignment for a controlled type with
+ relaxed finalization semantics. Streamline the code implementing
+ the protection against aborts and do not use an At_End handler for
+ a controlled type with relaxed finalization semantics.
+ * exp_ch7.ads (Make_Finalize_Call_For_Node): New function.
+ * exp_ch7.adb (Finalize_Address_For_Node): New function renaming.
+ (Set_Finalize_Address_For_Node): New procedure renaming.
+ (Attach_Object_To_Master_Node): Also attach the Finalize_Address
+ primitive to the Master_Node statically.
+ (Build_Finalizer): Add Has_Strict_Ctrl_Objs local variable. Insert
+ back the body of the finalizer at the end of the statement list in
+ the non-package case and restore the associated support code to
+ that effect. When all the controlled objects have the relaxed
+ finalization semantics, do not create a Finalization_Master and
+ finalize the objects directly instead.
+ (Processing_Actions): Add Strict parameter and use it to set the
+ Has_Strict_Ctrl_Objs variable.
+ (Process_Declarations): Make main loop more robust and adjust
+ calls to Processing_Actions.
+ (Make_Finalize_Address_Body): Mark the primitive as inlined if the
+ type has relaxed finalization semantics.
+ (Make_Finalize_Call_For_Node): New function.
+ * sem_ch6.adb (Check_Statement_Sequence): Skip subprogram bodies.
+ * libgnat/s-finpri.ads (Finalize_Object): Add Finalize_Address
+ parameter.
+ (Master_Node): Remove superfluous qualification.
+ * libgnat/s-finpri.adb (Attach_Object_To_Node): Likewise.
+ (Finalize_Master): Adjust calls to Finalize_Object.
+ (Finalize_Object): Add Finalize_Address parameter and assert that
+ it is equal to the component of the node. Use the Object_Address
+ component as guard.
+ (Suppress_Object_Finalize_At_End): Clear Object_Address component.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2024-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb (Gen_Main): Put back support for -G
+ * bindusg.adb (Display): Put back line for -G
+ * opt.ads (CCG_Mode): Update doc
+ * switch-b.adb (Scan_Binder_Switches): Put back support for -G
+
+2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Disable expansion
+ in CodePeerMode.
+ (Expand_Packed_Address_Reference): Likewise.
+ (Expand_Packed_Bit_Reference): Likewise.
+ (Expand_Packed_Boolean_Operator): Likewise.
+ (Expand_Packed_Element_Reference): Likewise.
+ (Expand_Packed_Eq): Likewise.
+ (Expand_Packed_Not): Likewise.
+
+2024-08-01 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_Too_Late): Move routine to top-level.
+ (Resolve_Aspect_Expressions): Check aspects Default_Value and
+ Default_Component_Value before resolving their expressions.
+
+2024-08-01 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_Too_Late): Prevent freezing during
+ preanalysis.
+
+2024-08-01 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Resolve_Aspect_Expression): Don't set
+ Must_Not_Freeze before preanalyzing spec expressions.
+
+2024-08-01 Steve Baird <baird@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): When calling
+ Error_Msg_NE to generate a "missing overriding indicator" message,
+ generate a warning message instead of an error message (and update
+ comment to describe this new behavior).
+
+2024-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Collect_Aggr_Bounds): Adjust previous patch to
+ store the bounds of inner null aggregates in the itype; required
+ generate the runtime check of ARM 4.3.3(30).
+
+2024-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * osint-c.ads, osint-c.adb (Create_C_File, Close_C_File,
+ Delete_C_File): Put back, needed by LLVM based CCG.
+ * exp_unst.adb (Unnest_Subprogram): Complete previous change by
+ removing now dead code and corresponding ??? comment.
+
+2024-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do the
+ component adjustment in the case of initialization by a container
+ aggregate.
+
+2024-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Assignments): Set Expansion_Delayed on
+ intermediate conditional expressions for BIP aggregate returns
+ too.
+ * exp_ch4.adb (Expand_N_Case_Expression): Also deal with delayed
+ expansion in the return case.
+ (Expand_N_If_Expression): Likewise.
+
+2024-08-01 Steve Baird <baird@adacore.com>
+
+ * sem_ch4.adb (Is_Effectively_Visible_Opertor): Return True if
+ Checking_Potentially_Static_Expression is True. The accompanying
+ comment says True is returned "if there is a reason it is ok for
+ Is_Visible_Operator to return False"; if
+ Checking_Potentially_Static_Expression is true, that is such a
+ reason.
+
+2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Stop
+ ignoring Component_Size attribute in CodePeer_Mode.
+
+2024-08-01 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch5.adb (Prepare_Param_Spec_Loop): Fix criterion for
+ wrapping loop statements into blocks.
+
+2024-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb, bindusg.adb, debug.adb, einfo.ads,
+ exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
+ exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_dbug.adb,
+ exp_dbug.ads, exp_intr.adb, exp_unst.adb, exp_util.adb,
+ exp_util.ads, freeze.adb, gen_il-fields.ads,
+ gen_il-gen-gen_entities.adb, gnat1drv.adb, inline.adb, opt.ads,
+ osint-c.adb, osint-c.ads, sem_attr.adb, sem_ch12.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch6.adb, sem_elab.adb, sem_res.adb, sinfo.ads,
+ snames.ads-tmpl, switch-b.adb, switch-c.adb: Major
+ clean up to remove C code generation for bodies.
+
+2024-08-01 Ronan Desplanques <desplanques@adacore.com>
+
+ * exp_aggr.adb (Flatten): Do not reject empty aggregates. Adjust
+ criterion for emitting warning about ineffective others clause.
+ * sem_aggr.adb (Array_Aggr_Subtype): Fix typo. Add handling of
+ aggregates that were converted to positional form.
+ (Resolve_Aggregate): Tweak criterion for transforming into a
+ string literal.
+ (Resolve_Array_Aggregate): Tweak criterion for reusing existing
+ bounds of aggregate.
+ (Retrieve_Aggregate_Bounds): New procedure.
+ * sem_util.adb (Has_Static_Empty_Array_Bounds): New function.
+ * sem_util.ads (Has_Static_Empty_Array_Bounds): Likewise.
+
+2024-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.ads (Build_Finalizer): Remove Top_Decls parameter.
+ * exp_ch7.adb (Build_Finalizer): Likewise. Rename Counter_Val into
+ Count, replace Has_Ctrl_Objs local variable by expression
+ function, remove Spec_Decls local variable and do not reset
+ Finalizer_Decls.
+ (Expand_Cleanup_Actions): Adjust call to Build_Finalizer.
+ (Expand_N_Package_Body): Likewise.
+ (Expand_N_Package_Declaration): Likewise.
+ * inline.adb (Cleanup_Scopes): Likewise.
+
+2024-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Make_Address_For_Finalize): Generate a direct call
+ to the "+" operator of System.Storage_Elements.
+ (Make_Finalize_Address_Stmts): Likewise.
+ * rtsfind.ads (RE_Id): Remove RE_Add_Offset_To_Address.
+ (RE_Unit_Table): Remove entry for RE_Add_Offset_To_Address.
+ * libgnat/s-finpri.ads (Add_Offset_To_Address): Delete.
+ * libgnat/s-finpri.adb (Add_Offset_To_Address): Likewise.
+
2024-07-07 Maciej W. Rozycki <macro@orcam.me.uk>
* gcc-interface/Make-lang.in (ada.all.cross): Move recipe to...
+2024-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/116113
+ * semantics.cc (maybe_convert_cond): Check DECL_DECOMP_BASE
+ is non-NULL before dereferencing it.
+ (finish_switch_cond): Likewise.
+
+2024-08-01 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/112341
+ * coroutines.cc (struct coroutine_info): Also cache the
+ traits type.
+ (ensure_coro_initialized): New function. Makes sure we have
+ initialized the coroutine state successfully, or informs the
+ caller should it fail to do so. Extracted from
+ coro_promise_type_found_p.
+ (coro_get_traits_class): New function. Gets the (cached)
+ coroutine traits type for a given coroutine. Extracted from
+ coro_promise_type_found_p and refactored to cache the result.
+ (coro_promise_type_found_p): Use the two functions above.
+ (build_template_co_await_expr): New function. Builds a
+ CO_AWAIT_EXPR representing a CO_AWAIT_EXPR in a template
+ declaration.
+ (build_co_await): Use the above if processing_template_decl, and
+ give it a proper type.
+ (coro_dependent_p): New function. Returns true iff its
+ argument is a type-dependent expression OR the current functions
+ traits class is type dependent.
+ (finish_co_await_expr): Defer expansion only in the case
+ coro_dependent_p returns true.
+ (finish_co_yield_expr): Ditto.
+ (finish_co_return_stmt): Ditto.
+ * pt.cc (type_dependent_expression_p): Do not treat
+ CO_AWAIT/CO_YIELD specially.
+
2024-07-31 Marek Polacek <polacek@redhat.com>
PR c++/115645
+2024-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-types.cc (gfc_get_array_descr_info): Don't test if
+ !integer_zerop (dtype_off), use fold_build_pointer_plus
+ unconditionally.
+
2024-07-29 Tobias Burnus <tburnus@baylibre.com>
PR fortran/115559
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit
+ inherent impl type.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/ffi-polonius/src/gccrs_ffi.rs: Bump copyright.
+ * checks/errors/borrowck/ffi-polonius/src/lib.rs: Bump copyright.
+ * checks/errors/borrowck/polonius/rust-polonius-ffi.h: Bump copyright.
+ * checks/errors/borrowck/polonius/rust-polonius.h: Bump copyright.
+ * checks/errors/borrowck/rust-bir-dump.cc: Bump copyright.
+ * checks/errors/borrowck/rust-bir-fact-collector.h: Bump copyright.
+ * checks/errors/borrowck/rust-bir-free-region.h: Bump copyright.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (renumber_places):
+ Remove unecessary braces.
+ (Dump::go): Remove unecessary braces.
+ (Dump::visit): Remove unecessary braces.
+ (Dump::visit_scope): Remove unecessary braces.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (class FactCollector):
+ Remove unecessary braces.
+ (points): Remove unecessary braces.
+ * checks/errors/borrowck/rust-bir-free-region.h: Remove unecessary braces.
+ * checks/errors/borrowck/rust-bir-place.h: Remove unecessary braces.
+ * checks/errors/borrowck/rust-borrow-checker.cc (BorrowChecker::go):
+ Remove unecessary braces.
+ * checks/errors/borrowck/rust-function-collector.h: Remove unecessary braces.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-fact-collector.h: New file.
+ * checks/errors/borrowck/rust-borrow-checker.cc (BorrowChecker::go):
+ Enable fact collection.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-place.h (struct Lifetime):
+ Extended regions and loans.
+ (struct Loan): Representation of loan (result of borrowing)
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Fix let stmt handling.
+ * checks/errors/borrowck/rust-bir-builder-pattern.h: improved
+ pattern translation
+ * checks/errors/borrowck/rust-bir-builder-internal.h: region binding
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.h (class ExprStmtBuilder):
+ Region support.
+ (class RenumberCtx): Region support.
+ * checks/errors/borrowck/rust-bir-builder.h (class Builder): Region support.
+ * checks/errors/borrowck/rust-bir-dump.cc (get_lifetime_name): Region support.
+ (renumber_places): Region support.
+ (Dump::go): Region support.
+ (Dump::visit): Region support.
+ (Dump::visit_lifetime): Region support.
+ (Dump::visit_scope): Region support.
+ * checks/errors/borrowck/rust-bir.h (class AbstractExpr): Region support.
+ (struct Function): Region support.
+ (class BorrowExpr): Region support.
+ (class CallExpr): Region support.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * typecheck/rust-tyty-variance-analysis-private.h (class FieldVisitorCtx):
+ Region extraction.
+ * typecheck/rust-tyty-variance-analysis.cc (query_field_regions): Region extraction.
+ (FieldVisitorCtx::collect_regions): Region extraction.
+ (FieldVisitorCtx::add_constraints_from_ty): Region extraction.
+ (FieldVisitorCtx::add_constraints_from_region): Region
+ extraction.
+ (FieldVisitorCtx::add_constrints_from_param): Region extraction.
+ * typecheck/rust-tyty-variance-analysis.h (query_field_regions):
+ Region extraction.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-free-region.h: New file.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/ffi-polonius/Cargo.toml: New file.
+ * checks/errors/borrowck/ffi-polonius/src/gccrs_ffi.rs: New file.
+ * checks/errors/borrowck/ffi-polonius/src/gccrs_ffi_generated.rs: New file.
+ * checks/errors/borrowck/ffi-polonius/src/lib.rs: New file.
+ * checks/errors/borrowck/polonius/rust-polonius-ffi.h: New file.
+ * checks/errors/borrowck/polonius/rust-polonius.h: New file.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit): const
+ visitor
+ * checks/errors/borrowck/rust-bir-dump.h: const visitor
+ * checks/errors/borrowck/rust-bir-visitor.h: const visitor
+ * checks/errors/borrowck/rust-bir.h: const getter
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit): Emit moves.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Emit moves.
+ * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h: Emit moves.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit_move_place): Emit moves.
+ (Dump::visit): Emit moves.
+ * checks/errors/borrowck/rust-bir-place.h (struct Place): Emit moves.
+ * checks/errors/borrowck/rust-bir-visitor.h: Emit moves.
+ * checks/errors/borrowck/rust-bir.h (enum class): Emit moves.
+ (class AbstractExpr): Emit moves.
+ (BasicBlock::is_terminated): Emit moves.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::setup_loop):
+ Loop handling.
+ (ExprStmtBuilder::visit): Handle scopes.
+ * checks/errors/borrowck/rust-bir-builder-internal.h (struct BuilderContext):
+ Handle scopes.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::go): Dump scopes.
+ (Dump::visit): Add scopes dump.
+ (Dump::indent): Add indentation logic.
+ (Dump::visit_scope): Dump scope.
+ * checks/errors/borrowck/rust-bir-dump.h: Dump methods.
+ * checks/errors/borrowck/rust-bir-place.h (std::numeric_limits::max): Scope constants.
+ (struct Scope): Scope representation.
+ (class PlaceDB): Scope tracking.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-place.h:
+ Create place tree traverse API.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Use callable API
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/bir-design-notes.md (nodes): Rename node to statement.
+ (Nodes): Rename node to statement.
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Rename node to statement.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Rename node to statement.
+ * checks/errors/borrowck/rust-bir-builder.h: Rename node to statement.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::go): Rename node to statement.
+ (Dump::visit): Rename node to statement.
+ * checks/errors/borrowck/rust-bir-dump.h (class Dump): Rename node to statement.
+ * checks/errors/borrowck/rust-bir-visitor.h (class Node): Rename node to statement.
+ (class Statement): Rename node to statement.
+ * checks/errors/borrowck/rust-bir.h (class Node): Rename node to statement.
+ (class Statement): Rename node to statement.
+ (class AbstractExpr): Rename node to statement.
+ (struct Function): Rename node to statement.
+ (struct BasicBlock): Rename node to statement.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc: Use rust-system.h
+ * checks/errors/borrowck/rust-bir-dump.h (RUST_BIR_DUMP_H): Use rust-system.h
+ * checks/errors/borrowck/rust-bir-place.h (RUST_BIR_PLACE_H): Use rust-system.h
+ * checks/errors/borrowck/rust-function-collector.h: Use rust-system.h
+ * rust-system.h: Use rust-system.h
+ * typecheck/rust-hir-type-check.h: Use rust-system.h
+ * typecheck/rust-tyty-subst.cc: Use rust-system.h
+ * typecheck/rust-tyty-subst.h: Use rust-system.h
+ * typecheck/rust-tyty.h: Use rust-system.h
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * typecheck/rust-unify.cc (UnifyRules::go): Always unify to `ltype` if
+ we are matching against a `Never` in `rtype`.
+ (UnifyRules::expect_never): Always unify to the expected type.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * lex/rust-lex.cc
+ (Lexer::parse_raw_string):
+ Bring handling of edge cases to par with parse_raw_byte_string.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * parse/rust-parse-impl.h
+ (Parser::parse_vis_item):
+ Call parse_function instead of parse_async_item when finding
+ UNSAFE or EXTERN_KW during lookahead.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * util/rust-attribute-values.h
+ (Attributes::UNSTABLE): New.
+ * util/rust-attributes.cc
+ (__definitions): Add Attributes::UNSTABLE.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * util/rust-attribute-values.h
+ (Attributes::RUSTC_DEPRECATED): New.
+ * util/rust-attributes.cc
+ (__definitions): Add Attributes::RUSTC_DEPRECATED.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * lex/rust-lex.cc
+ (Lexer::parse_raw_byte_string):
+ Bring handling of edge cases to par with parse_byte_string.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-forever-stack.h: Change dfs function prototype and
+ declare dfs return type structure.
+ * resolve/rust-forever-stack.hxx: Adapt dfs function to the new return
+ type.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * backend/rust-compile-resolve-path.cc: Attempt to resolve names
+ also using new name resolution context.
+ * backend/rust-compile-resolve-path.h: Add new declaration.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_glob):
+ Change function prototype to use a reference instead.
+ (TopLevel::handle_use_dec): Likewise.
+ (TopLevel::handle_rebind): Add name resolution on rebind use
+ declarations.
+ (flatten_rebind): Change prototype to accept a pair of path/alias.
+ (flatten_list): Adapt call to flatten_rebind.
+ (flatten): Adapt call to flatten_rebind.
+ (flatten_glob): Remove unused part.
+ (TopLevel::visit): Add rebind resolution.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Adapt function prototypes.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add mapping
+ implementation.
+ * resolve/rust-late-name-resolver-2.0.h: Add function visitor prototype
+ override.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_dec):
+ Replace the string format %<%s%> with the proper %qs format.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_root_path):
+ Only get immutable name resolution context when name resolution 2.0 is
+ used.
+ * typecheck/rust-hir-type-check-type.cc (TypeCheckType::resolve_root_path):
+ Likewise.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * util/rust-canonical-path.h: Also assign crate number.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Add
+ Self generic parameter injection and a warning.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add function prototype.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * backend/rust-compile-item.cc (CompileItem::visit): Check the resolver
+ flag and use the new one when required.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ empty visit function.
+ * resolve/rust-default-resolver.h: Remove function prototype.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ visitor implementation and scoping.
+ * resolve/rust-default-resolver.h: Remove function prototype.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Add
+ constant identifiers to the resolver.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Change
+ search location for struct types.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
+ Change enum type namespace.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
+ Add tuple struct type to the resolver's context.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
+ Add the struct constructor when the struct is a unit.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Change the
+ namespace for values from "label" to "values".
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ function implementation.
+ * resolve/rust-default-resolver.h: Remove function prototype.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit
+ constant item's types.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit
+ function return type.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_root_path):
+ Change error message to match old resolver and test case.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Add
+ the struct constructor to the value namespace.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::visit): Adapt
+ resolved type to the new API.
+ (Early::visit_attributes): Retrieve the node id from the definition.
+ * resolve/rust-forever-stack.h: Change the return type of getter
+ functions. Those functions now return a definition type instead of a
+ node id.
+ * resolve/rust-forever-stack.hxx: Change member function implementation
+ in the forever stack to accomodate it's API changes.
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Use internal
+ node id. Emit an error when resolving multiple ambiguous values.
+ * resolve/rust-rib.cc (Rib::Definition::Definition): Add a default
+ constructor.
+ (Rib::Definition::is_ambiguous): Add a new function to determine
+ whether a function definition is ambiguous or not.
+ (Rib::Definition::to_string): Add a member function to convert a given
+ definition to a string.
+ (Rib::insert): Add new rules for value insertion in a rib. Insertion
+ order does not impact the result anymore: inserting a shadowable value
+ after a non shadowable one does not trigger an error anymore. All
+ shadowable values inserted in a rib are kepts until being replaced by a
+ non shadowable one.
+ (Rib::get): Return a definition instead of a node id.
+ * resolve/rust-rib.h: Update function prototypes.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_glob):
+ Update return value container to match the new function's prototype.
+ (TopLevel::handle_use_dec): Likewise.
+ (flatten_glob): Likewise.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-forever-stack.h: Add a new function prototype to insert
+ a shadowable definition.
+ * resolve/rust-forever-stack.hxx: Add the new insert_shadowable
+ function to insert shadowable definition into the forever stack.
+ * resolve/rust-name-resolution-context.cc (NameResolutionContext::insert_shadowable):
+ Likewise with the name resolution context.
+ * resolve/rust-name-resolution-context.h: Add name resolution context
+ insert_shadowable member function prototype.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
+ Insert shadowable definition into the forever stack for glob use
+ declaration.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add a check
+ for missing item.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::go):
+ Add a new function in the visitor to dispatch the visitor to items in
+ the given module.
+ (TopLevel::handle_use_glob): Change call to visitor to use the pointer.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add prototype for new
+ member function.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * checks/lints/rust-lint-marklive.cc (MarkLive::find_ref_node_id):
+ Add code path for the resolver 2.0
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Remove failing
+ label context resolve call.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
+ Insert names into their namespace.
+ (TopLevel::visit): Insert ast module.
+ (TopLevel::handle_use_dec): Resolve use declaration.
+ (TopLevel::handle_use_glob): Use globbing visitor.
+ (flatten_list): Use globbing path vector.
+ (flatten_glob): Likewise.
+ (flatten): Likewise.
+ (prefix_subpaths): Add a function to prefix subpath.
+ * resolve/rust-toplevel-name-resolver-2.0.h (class GlobbingVisitor):
+ Add globbing visitor.
+ * util/rust-hir-map.cc (Mappings::insert_ast_module): Add function to
+ insert module in module hashmap.
+ (Mappings::lookup_ast_module): Add function to retrieve ast module.
+ * util/rust-hir-map.h: Add module map and getter/setter prototypes.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Module
+ should be added to the type namespace in order to be retrieved later.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::setup_builtin_types):
+ Setup bool as builtin type.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (insert_macros): Add
+ constraint over the ast node id.
+ (TopLevel::visit): Likewise.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Change
+ error message.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_dec):
+ Use the new dict to track down already resolved use declarations.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add new dict to store
+ previous use declarations.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::insert_or_error_out):
+ Add new constraint to duplicate errors.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-forever-stack.hxx: Start using Rib::Definition for
+ shadowable information.
+ * resolve/rust-late-name-resolver-2.0.cc (next_node_id): New.
+ (next_hir_id): New.
+ (Late::setup_builtin_types): Improve builtin type setup.
+ * resolve/rust-rib.cc (Rib::Definition::Definition): New constructor.
+ (Rib::Definition::Shadowable): Likewise.
+ (Rib::Definition::NonShadowable): Likewise.
+ (Rib::Rib): Fix general constructor.
+ (Rib::insert): Use Definition class.
+ (Rib::get): Likewise.
+ * resolve/rust-rib.h: New Definition class, new prototypes.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-name-resolution-context.cc (NameResolutionContext::map_usage):
+ Use newtype pattern.
+ (NameResolutionContext::lookup): Likewise.
+ * resolve/rust-name-resolution-context.h (class Usage): New class.
+ (class Definition): Likewise.
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Create instances
+ of Usage and Definition.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * backend/rust-compile-base.cc: Use new ImmutableNrCtx.
+ * backend/rust-compile-context.h: Likewise.
+ * backend/rust-compile-expr.cc: Likewise.
+ * backend/rust-compile-item.cc: Likewise.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Start
+ fetching name resolution information in the typechecker.
+ * typecheck/rust-hir-type-check-type.cc (TypeCheckType::resolve_root_path):
+ Likewise.
+ * typecheck/rust-hir-type-check-path.cc: Use nr 2.0.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-name-resolution-context.cc (NameResolutionContext::lookup):
+ Add lookup function.
+ * resolve/rust-name-resolution-context.h: Include mappings and optional.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust-session-manager.cc (Session::compile_crate): Create an immutable
+ view of the name resolution context.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust-session-manager.cc: Add files for dumping name resolution, call
+ name resolution dump function.
+ (Session::dump_name_resolution): New.
+ * rust-session-manager.h: New declaration.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust-session-manager.cc (Session::compile_crate): Create name resolution
+ context for Session::expansion and subsequent name resolution passes.
+ (Session::expansion): Take name resolution context as a parameter
+ instead.
+ * rust-session-manager.h (Session::expansion): Fix declaration.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Compile it.
+ * resolve/rust-immutable-name-resolution-context.cc: New file.
+ * resolve/rust-immutable-name-resolution-context.h: New file.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * lex/rust-lex.cc (is_identifier_start): Placate clang-format.
+
+2024-08-01 jjasmine <tanghocle456@gmail.com>
+
+ * Make-lang.in: add new .o builds for new .cc files
+ * expand/rust-cfg-strip.h (RUST_CFG_STRIP_H): Add include guards
+ for rust-cfg-strip
+ * expand/rust-macro-builtins.cc (make_macro_path_str): moved to new respective files
+ (make_token): moved to new respective files
+ (make_string): moved to new respective files
+ (macro_end_token): moved to new respective files
+ (try_extract_string_literal_from_fragment): moved to new respective files
+ (try_expand_many_expr): moved to new respective files
+ (parse_single_string_literal): moved to new respective files
+ (source_relative_path): moved to new respective files
+ (load_file_bytes): moved to new respective files
+ (MacroBuiltin::assert_handler): moved to new respective files
+ (MacroBuiltin::file_handler): moved to new respective files
+ (MacroBuiltin::column_handler): moved to new respective files
+ (MacroBuiltin::include_bytes_handler): moved to new respective files
+ (MacroBuiltin::include_str_handler): moved to new respective files
+ (MacroBuiltin::compile_error_handler): moved to new respective files
+ (MacroBuiltin::concat_handler): moved to new respective files
+ (MacroBuiltin::env_handler): moved to new respective files
+ (MacroBuiltin::cfg_handler): moved to new respective files
+ (MacroBuiltin::include_handler): moved to new respective files
+ (MacroBuiltin::line_handler): moved to new respective files
+ (MacroBuiltin::stringify_handler): moved to new respective files
+ (struct FormatArgsInput): moved to new respective files
+ (struct FormatArgsParseError): moved to new respective files
+ (format_args_parse_arguments): moved to new respective files
+ (MacroBuiltin::format_args_handler): moved to new respective files
+ * expand/rust-macro-builtins.h (builtin_macro_from_string):
+ merge tl::optional from master
+ * expand/rust-macro-builtins-asm.cc: New file.
+ * expand/rust-macro-builtins-format-args.cc: New file.
+ * expand/rust-macro-builtins-helpers.cc: New file.
+ * expand/rust-macro-builtins-helpers.h: New file.
+ * expand/rust-macro-builtins-include.cc: New file.
+ * expand/rust-macro-builtins-location.cc: New file.
+ * expand/rust-macro-builtins-log-debug.cc: New file.
+ * expand/rust-macro-builtins-test-bench.cc: New file.
+ * expand/rust-macro-builtins-trait.cc: New file.
+ * expand/rust-macro-builtins-utility.cc: New file.
+
+2024-08-01 Guillaume Gomez <guillaume1.gomez@gmail.com>
+
+ * expand/rust-derive.cc (DeriveVisitor::derive): Fix typo
+
+2024-08-01 jjasmine <tanghocle456@gmail.com>
+
+ * hir/rust-ast-lower-extern.h: Add translate_visiblity
+ * hir/tree/rust-hir-item.h: Fix constructor of ExternalTypeItem
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit):
+ Collect variance info from types.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * Make-lang.in: Add new .cc file.
+ * rust-session-manager.cc (Session::compile_crate): Run
+ analysis.
+ * typecheck/rust-tyty-variance-analysis-private.h: New file.
+ * typecheck/rust-tyty-variance-analysis.cc: New file.
+ * typecheck/rust-tyty-variance-analysis.h: New file.
+ * typecheck/rust-typecheck-context.cc
+ (TypeCheckContext::get_variance_analysis_ctx):
+ Variance analysis context.
+ * typecheck/rust-hir-type-check.h (TypeCheckItem::visit):
+ Variance analysis context.
+
+2024-08-01 Jakub Dupak <dev@jakubdupak.com>
+
+ * typecheck/rust-tyty-subst.cc (SubstitutionRef::get_arg_at):
+ Add unified API.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * expand/rust-macro-builtins.cc (struct FormatArgsInput): Store the format_str
+ as a string instead of an AST::Expr.
+ (format_args_parse_arguments): Transform format_expr into a format string
+ properly - add note for handling eager macro invocations later on.
+ (MacroBuiltin::format_args_handler): Parse the correct input, append
+ newline to format_str if necessary.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-builder.h: Rename AST::AstBuilder -> AST::Builder
+ * ast/rust-ast-builder.cc: Likewise.
+ * expand/rust-derive.cc: Use new AST::Builder name.
+ * expand/rust-derive.h: Likewise.
+ * ast/rust-builtin-ast-nodes.h: Add required getters.
+ * expand/rust-expand-format-args.cc (format_arg): New.
+ (get_trait_name): New.
+ (expand_format_args): Properly expand basic format_args!() invocations.
+ * expand/rust-expand-format-args.h (expand_format_args): Fix signature.
+ * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler):
+ Call into expand_format_args().
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-fmt.cc (ffi::RustHamster::to_string): New.
+ (Pieces::collect): Adapt to use new handle API.
+ (Pieces::~Pieces): Likewise.
+ (Pieces::Pieces): Likewise.
+ (Pieces::operator=): Likewise.
+ * ast/rust-fmt.h (struct RustString): Add members.
+ (struct FormatArgsHandle): New.
+ (clone_pieces): Adapt for new FFI API.
+ (destroy_pieces): Likewise.
+ (struct Pieces): Store new FormatArgsHandle type.
+ * expand/rust-expand-format-args.cc (expand_format_args): Use proper
+ namespace.
+ * resolve/rust-ast-resolve-base.cc (ResolverBase::visit): FormatArgs
+ nodes are already resolved, so do nothing.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Add new object.
+ * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Remove calls to
+ FormatArgsLowering.
+ * expand/rust-expand-format-args.cc: New file.
+ * expand/rust-expand-format-args.h: New file.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-macro.h: Use proper node id instead of the one in the base
+ Expr class - which is uninitialized.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast-collector.cc (TokenCollector::visit): Remove reference
+ to unique pointer and replace it with a direct reference to the wrapped
+ data.
+ * ast/rust-ast.cc (VariadicParam::as_string): Likewise.
+ (BlockExpr::normalize_tail_expr): Likewise.
+ * ast/rust-expr.h: Likewise and add pointer getter in order to allow
+ pointer reseat.
+ * ast/rust-item.h: Likewise and add pointer getter for reseat.
+ * ast/rust-path.h: Likewise.
+ * ast/rust-pattern.h: Likewise.
+ * ast/rust-stmt.h: Likewise.
+ * ast/rust-type.h: Likewise.
+ * expand/rust-cfg-strip.cc (CfgStrip::maybe_strip_struct_fields):
+ Remove references to unique pointers and replace it with direct
+ references to the wrapped object.
+ (CfgStrip::maybe_strip_tuple_fields): Likewise.
+ (CfgStrip::maybe_strip_generic_args): Likewise.
+ (CfgStrip::maybe_strip_qualified_path_type): Likewise.
+ (CfgStrip::visit): Likewise.
+ * expand/rust-expand-visitor.cc (ExpandVisitor::maybe_expand_expr):
+ Likewise.
+ (ExpandVisitor::maybe_expand_type): Likewise.
+ (ExpandVisitor::visit): Likewise.
+ * expand/rust-expand-visitor.h: Likewise.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_binding):
+ Likewise.
+ (ASTLoweringBase::lower_generic_args): Likewise.
+ (ASTLoweringBase::lower_self): Likewise.
+ (ASTLoweringBase::lower_type_no_bounds): Likewise.
+ (ASTLoweringBase::lower_bound): Likewise.
+ (ASTLoweringBase::lower_range_pattern_bound): Likewise.
+ * hir/rust-ast-lower-base.h: Likewise.
+ * hir/rust-ast-lower-block.h: Likewise.
+ * hir/rust-ast-lower-enumitem.h: Likewise.
+ * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::translate): Likewise.
+ (ASTLoweringExpr::visit): Likewise.
+ * hir/rust-ast-lower-expr.h: Likewise.
+ * hir/rust-ast-lower-extern.h: Likewise.
+ * hir/rust-ast-lower-implitem.cc (ASTLowerImplItem::translate):
+ Likewise.
+ (ASTLowerImplItem::visit): Likewise.
+ (ASTLowerTraitItem::translate): Likewise.
+ (ASTLowerTraitItem::visit): Likewise.
+ * hir/rust-ast-lower-implitem.h: Likewise.
+ * hir/rust-ast-lower-item.cc (ASTLoweringItem::translate): Likewise.
+ (ASTLoweringItem::visit): Likewise.
+ * hir/rust-ast-lower-item.h: Likewise.
+ * hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::translate):
+ Likewise.
+ (ASTLoweringPattern::visit): Likewise.
+ * hir/rust-ast-lower-pattern.h: Likewise.
+ * hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): Likewise.
+ * hir/rust-ast-lower-struct-field-expr.h: Likewise.
+ * hir/rust-ast-lower-type.cc (ASTLowerTypePath::visit): Likewise.
+ (ASTLowerQualifiedPathInType::visit): Likewise.
+ (ASTLoweringType::translate): Likewise.
+ (ASTLoweringType::visit): Likewise.
+ (ASTLowerGenericParam::translate): Likewise.
+ (ASTLowerGenericParam::visit): Likewise.
+ (ASTLoweringTypeBounds::translate): Likewise.
+ (ASTLoweringTypeBounds::visit): Likewise.
+ (ASTLowerWhereClauseItem::visit): Likewise.
+ * hir/rust-ast-lower-type.h: Likewise.
+ * hir/rust-ast-lower.cc (ASTLowering::go): Likewise.
+ (ASTLoweringBlock::visit): Likewise.
+ (ASTLoweringIfBlock::visit): Likewise.
+ (ASTLoweringIfLetBlock::visit): Likewise.
+ (ASTLowerStructExprField::visit): Likewise.
+ (ASTLoweringExprWithBlock::visit): Likewise.
+ (ASTLoweringBase::lower_qual_path_type): Likewise.
+ (ASTLoweringBase::lower_closure_param): Likewise.
+ * resolve/rust-ast-resolve-base.cc (ResolverBase::resolve_visibility):
+ Likewise.
+ * resolve/rust-ast-resolve-expr.cc (ResolveExpr::go): Likewise.
+ (ResolveExpr::visit): Likewise.
+ (ResolveExpr::resolve_closure_param): Likewise.
+ * resolve/rust-ast-resolve-expr.h: Likewise.
+ * resolve/rust-ast-resolve-implitem.h: Likewise.
+ * resolve/rust-ast-resolve-item.cc (ResolveTraitItems::visit):
+ Likewise.
+ (ResolveItem::go): Likewise.
+ (ResolveItem::visit): Likewise.
+ (ResolveItem::resolve_impl_item): Likewise.
+ (ResolveItem::resolve_extern_item): Likewise.
+ (ResolveImplItems::go): Likewise.
+ (ResolveExternItem::go): Likewise.
+ (ResolveExternItem::visit): Likewise.
+ * resolve/rust-ast-resolve-item.h: Likewise.
+ * resolve/rust-ast-resolve-path.cc (ResolvePath::go): Likewise.
+ (ResolvePath::resolve_path): Likewise.
+ * resolve/rust-ast-resolve-path.h: Likewise.
+ * resolve/rust-ast-resolve-pattern.cc (PatternDeclaration::go):
+ Likewise.
+ (PatternDeclaration::visit): Likewise.
+ (resolve_range_pattern_bound): Likewise.
+ * resolve/rust-ast-resolve-pattern.h: Likewise.
+ * resolve/rust-ast-resolve-stmt.cc (ResolveStmt::visit): Likewise.
+ * resolve/rust-ast-resolve-stmt.h: Likewise.
+ * resolve/rust-ast-resolve-struct-expr-field.cc (ResolveStructExprField::go):
+ Likewise.
+ (ResolveStructExprField::visit): Likewise.
+ * resolve/rust-ast-resolve-struct-expr-field.h: Likewise.
+ * resolve/rust-ast-resolve-toplevel.h: Likewise.
+ * resolve/rust-ast-resolve-type.cc (ResolveType::visit): Likewise.
+ (ResolveRelativeTypePath::go): Likewise.
+ (ResolveRelativeQualTypePath::resolve_qual_seg): Likewise.
+ (ResolveTypeToCanonicalPath::go): Likewise.
+ (ResolveTypeToCanonicalPath::visit): Likewise.
+ (ResolveGenericArgs::resolve_disambiguated_generic): Likewise.
+ (ResolveGenericArgs::go): Likewise.
+ * resolve/rust-ast-resolve-type.h: Likewise.
+ * resolve/rust-ast-resolve.cc (NameResolution::go): Likewise.
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Likewise.
+ * resolve/rust-early-name-resolver.cc (EarlyNameResolver::resolve_qualified_path_type):
+ Likewise.
+ (EarlyNameResolver::visit): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit):
+ Likewise.
+ * checks/errors/rust-ast-validation.cc: Likewise.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-item.h: Change getter function prototype to return a
+ reference directly instead of a reference to the wrapper type.
+ * checks/errors/rust-ast-validation.cc (ASTValidation::visit): Fix
+ the code to accept references instead.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_self): Change
+ function implementation to return a reference.
+ * hir/rust-ast-lower-base.h: Accept a reference instead of a unique
+ pointer reference.
+ * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Adapt the code
+ to a reference instead of a unique pointer.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * backend/rust-tree.cc (c_common_type_for_mode): Placate clang-format.
+
+2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com>
+
+ * ast/rust-ast-collector.cc (TokenCollector::visit):
+ Remove dead code.
+ * ast/rust-ast-collector.h: Likewise.
+ * ast/rust-ast-full-decls.h (class ExternalFunctionItem):
+ Likewise.
+ * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit):
+ Likewise.
+ * ast/rust-ast-visitor.h: Likewise.
+ * ast/rust-ast.cc (ExternalFunctionItem::as_string): Likewise.
+ (ExternalFunctionItem::accept_vis): Likewise.
+ * checks/errors/rust-ast-validation.cc (ASTValidation::visit):
+ Likewise.
+ * checks/errors/rust-ast-validation.h: Likewise.
+ * checks/errors/rust-feature-gate.h: Likewise.
+ * expand/rust-cfg-strip.cc (CfgStrip::visit):
+ Likewise.
+ * expand/rust-cfg-strip.h: Likewise.
+ * expand/rust-derive.h: Likewise.
+ * expand/rust-expand-visitor.cc (ExpandVisitor::visit):
+ Likewise.
+ * expand/rust-expand-visitor.h: Likewise.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit):
+ Likewise.
+ * hir/rust-ast-lower-base.h: Likewise.
+ * metadata/rust-export-metadata.cc (ExportContext::emit_function):
+ Likewise.
+ * parse/rust-parse-impl.h: Likewise.
+ * parse/rust-parse.h: Likewise.
+ * resolve/rust-ast-resolve-base.cc (ResolverBase::visit):
+ Likewise.
+ * resolve/rust-ast-resolve-base.h: Likewise.
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit):
+ Likewise.
+ * resolve/rust-default-resolver.h: Likewise.
+ * util/rust-attributes.cc (AttributeChecker::visit): Likewise.
+ * util/rust-attributes.h: Likewise.
+
+2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com>
+
+ * checks/errors/rust-feature-gate.cc (FeatureGate::visit):
+ Check if function is_external or not.
+ * hir/rust-ast-lower-extern.h: Use AST::Function
+ instead of AST::ExternalFunctionItem.
+ * parse/rust-parse-impl.h (Parser::parse_external_item):
+ Likewise.
+ (Parser::parse_pattern): Fix clang format.
+ * resolve/rust-ast-resolve-implitem.h: Likewise.
+ * resolve/rust-ast-resolve-item.cc (ResolveExternItem::visit):
+ Likewise.
+ * resolve/rust-ast-resolve-item.h: Likewise.
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit):
+ Check if param has_pattern before using get_pattern.
+
+2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com>
+
+ * checks/errors/rust-ast-validation.cc (ASTValidation::visit):
+ Add external function validation support. Add ErrorCode::E0130.
+ * parse/rust-parse-impl.h (Parser::parse_function): Parse
+ external functions from `parse_function`.
+ (Parser::parse_external_item): Clang format.
+ (Parser::parse_pattern): Clang format.
+ * parse/rust-parse.h: Add default parameter
+ `is_external` in `parse_function`.
+
+2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com>
+
+ * ast/rust-ast.h: Add Kind Enum to
+ Pattern.
+ * ast/rust-macro.h: Add get_pattern_kind().
+ * ast/rust-path.h: Likewise.
+ * ast/rust-pattern.h: Likewise.
+
+2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com>
+
+ * ast/rust-ast.cc (Function::Function): Add `is_external_function` field.
+ (Function::operator=): Likewise.
+ * ast/rust-ast.h: New constructor for ExternalItem.
+ * ast/rust-item.h (class Function): Add `is_external_function`
+ field. Update `get_node_id`.
+ * ast/rust-macro.h: Update copy constructor.
+
+2024-08-01 Sourabh Jaiswal <sourabhrj31@gmail.com>
+
+ * expand/rust-expand-visitor.cc
+ (ExpandVisitor::expand_inner_items): Adjust to use has_value ()
+ (ExpandVisitor::expand_inner_stmts): Likewise
+ * expand/rust-macro-builtins.cc (builtin_macro_from_string): Likewise
+ (make_macro_path_str): Likewise
+ * util/rust-hir-map.cc (Mappings::insert_macro_def): Likewise
+ * util/rust-lang-item.cc (LangItem::Parse): Adjust to return tl::optional
+ (LangItem::toString) Likewise
+ * util/rust-token-converter.cc (handle_suffix): Adjust to use value.or ()
+ (from_literal) Likewise
+ * util/bi-map.h (BiMap::lookup): Adjust to use tl::optional for
+ lookups
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-pattern.h
+ (class TupleStructPattern): Assert that items != nullptr.
+ (class TuplePattern): Likewise.
+ (TupleStructPattern::has_items): Remove.
+ (TuplePattern::has_tuple_pattern_items): Likewise.
+ * parse/rust-parse-impl.h
+ (Parser::parse_ident_leading_pattern):
+ Prevent construction of TupleStructPattern with
+ (items == nullptr).
+ (Parser::parse_pattern_no_alt): Likewise.
+ * ast/rust-ast-collector.cc
+ (TokenCollector::visit): Remove usage of
+ TupleStructPattern::has_items.
+ * ast/rust-ast-visitor.cc
+ (DefaultASTVisitor::visit): Likewise.
+ * resolve/rust-early-name-resolver.cc
+ (EarlyNameResolver::visit): Likewise.
+
+2024-08-01 jjasmine <tanghocle456@gmail.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add error emitting
+
+2024-08-01 jjasmine <tanghocle456@gmail.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add error emitting
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler): Add
+ documentation regarding future tasks.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Compile the new source file.
+ * ast/rust-ast-collector.cc (TokenCollector::visit): Error out when
+ visiting FormatArgs nodes.
+ * resolve/rust-ast-resolve-base.cc (ResolverBase::visit): Likewise.
+ * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Likewise.
+ * ast/rust-ast.cc (FormatArgs::get_locus): New.
+ * ast/rust-builtin-ast-nodes.h: Improve FormatArgs API.
+ * ast/rust-fmt.cc (Pieces::~Pieces): Cleanup.
+ (Pieces::Pieces): Likewise.
+ * ast/rust-fmt.h (struct Pieces): Add pieces_vector member.
+ * hir/rust-ast-lower-format-args.cc: New file.
+ * hir/rust-ast-lower-format-args.h: New file.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast.cc: Make FormatArgs inherit from AST::Expr
+ * ast/rust-builtin-ast-nodes.h: Improve FormatArg* nodes and helpers.
+ * ast/rust-fmt.cc (Pieces::collect): Fix interface to match FFI function.
+ * ast/rust-fmt.h (collect_pieces): Likewise.
+ (struct Pieces): Add append_newline parameter.
+ * expand/rust-macro-builtins.cc: Add proper parsing of format_args
+ input.
+ * hir/rust-ast-lower-base.cc: Include diagnostics header.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * parse/rust-parse.h: New method.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * expand/rust-macro-builtins.cc (format_args_maker): New function.
+ (try_expand_many_expr): Add comment about reworking function.
+ (MacroBuiltin::format_args_handler): Add newline parameter.
+ * expand/rust-macro-builtins.h: Likewise.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-builtin-ast-nodes.h: New file.
+ * ast/rust-ast-full-decls.h (class FormatArgs): Declare new class.
+ * ast/rust-ast-collector.cc: Handle FormatArgs nodes properly.
+ * ast/rust-ast-collector.h: Likewise.
+ * ast/rust-ast-full.h: Likewise.
+ * ast/rust-ast-visitor.cc: Likewise.
+ * ast/rust-ast-visitor.h: Likewise.
+ * ast/rust-ast.cc: Likewise.
+ * ast/rust-ast.h: Likewise.
+ * expand/rust-derive.h: Likewise.
+ * hir/rust-ast-lower-base.cc: Likewise.
+ * hir/rust-ast-lower-base.h: Likewise.
+ * hir/rust-ast-lower-expr.cc: Likewise.
+ * hir/rust-ast-lower-expr.h: Likewise.
+ * resolve/rust-ast-resolve-base.cc: Likewise.
+ * resolve/rust-ast-resolve-base.h: Likewise.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-default-resolver.cc
+ (DefaultResolver::visit): Visit inner AST nodes of ClosureExprInner,
+ ClosureExprInnerTyped, IfExpr, IfExprConseqElse, MatchExpr,
+ PathInExpression, EnumItemTuple, EnumItemStruct, and
+ EnumItemDiscriminant.
+ * ast/rust-item.h
+ (EnumItemDiscriminant::has_expr): New function.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * hir/rust-ast-lower-extern.h: Lower to HIR::ExternalTypeItem nodes.
+ * hir/tree/rust-hir-item.h (class ExternalTypeItem): Create private
+ visibility by default as extern types have no visibility - add a comment
+ about the correctness of this.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * hir/tree/rust-hir-item.h (class ExternalTypeItem): New class.
+ * hir/tree/rust-hir.cc (ExternalTypeItem::as_string): Likewise.
+ * backend/rust-compile-extern.h: Add base for handling HIR::ExternalTypeItem
+ node.
+ * checks/errors/borrowck/rust-bir-builder-struct.h: Likewise.
+ * checks/errors/borrowck/rust-function-collector.h: Likewise.
+ * checks/errors/rust-const-checker.cc (ConstChecker::visit): Likewise.
+ * checks/errors/rust-const-checker.h: Likewise.
+ * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise.
+ * checks/errors/rust-unsafe-checker.h: Likewise.
+ * hir/rust-ast-lower-extern.h: Likewise.
+ * hir/rust-hir-dump.cc (Dump::visit): Likewise.
+ * hir/rust-hir-dump.h: Likewise.
+ * hir/tree/rust-hir-full-decls.h (class ExternalTypeItem): Likewise.
+ * hir/tree/rust-hir-visitor.h: Likewise.
+ (ExternalTypeItem::accept_vis): Likewise.
+ * typecheck/rust-hir-type-check-implitem.cc (TypeCheckTopLevelExternItem::visit): Likewise.
+ * typecheck/rust-hir-type-check-implitem.h: Likewise.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-ast-resolve-implitem.h: Declare external types as new
+ types.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * util/rust-lang-item.h (class RustLangItem): Renamed to...
+ (class LangItem): ...this. Rename ItemType enum to Kind
+ * util/rust-lang-item.cc: Rename methods to use new class name.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Use new lang-item API.
+ (CompileExpr::resolve_operator_overload): Likewise.
+ * backend/rust-compile-expr.h: Likewise.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_lang_item_attribute): Likewise.
+ * typecheck/rust-autoderef.cc (Adjuster::try_deref_type): Likewise.
+ (AutoderefCycle::cycle): Likewise.
+ * typecheck/rust-autoderef.h: Likewise.
+ * typecheck/rust-hir-type-bounds.h: Likewise.
+ * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::get_marker_predicate): Likewise.
+ * typecheck/rust-hir-type-check-base.h: Likewise.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise.
+ * typecheck/rust-hir-type-check-expr.h: Likewise.
+ * typecheck/rust-hir-type-check-type.cc (TypeResolveGenericParam::visit): Likewise.
+ * typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::assemble_sized_builtin): Likewise.
+ (TypeBoundsProbe::assemble_builtin_candidate): Likewise.
+ (TypeCheckBase::get_predicate_from_bound): Likewise.
+ * typecheck/rust-tyty.cc (ClosureType::setup_fn_once_output): Likewise.
+ * util/rust-hir-map.cc (Mappings::get_lang_item): Likewise.
+ (Mappings::lookup_trait_item_lang_item): Likewise.
+ * util/rust-hir-map.h: Likewise.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Compile new rust-lang-item.o.
+ * util/rust-lang-item.h: Split into header and source.
+ * util/rust-lang-item.cc: Cleanup parsing of lang items by using a hashmap
+ and returning optional values, cleanup handling of exhaustive lang item
+ lookups.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_lang_item_attribute): Use
+ new optional API.
+
+2024-08-01 jjasmine <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins.cc: Change BuiltinMacro in
+ builtin_macro_from_string to tl::optional<>
+ * expand/rust-macro-builtins.h (enum class): Change BuiltinMacro
+ in builtin_macro_from_string to tl::optional<>
+ * resolve/rust-early-name-resolver.cc (EarlyNameResolver::visit):
+ Resolved wrong type dependency of builtin_macro_from_string
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-fmt.cc (Pieces::collect): Fix signature to take ownership
+ of the given string.
+ * ast/rust-fmt.h (struct Pieces): Store parsed string in the struct.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler):
+ Transform entire invocation token stream into string for the parser.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler):
+ Construct string to parser properly.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-fmt.cc (Pieces::~Pieces): Call libformat_parser's release
+ function in destructor.
+ * ast/rust-fmt.h (struct PieceSlice): Add capacity.
+ (destroy_pieces): New.
+ (struct Pieces): Add destructor.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-fmt.cc (Pieces::collect): Use new Pieces API.
+ * ast/rust-fmt.h: Update interface with new FFI bindings.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-fmt.h: Add remaining FFI types.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * Make-lang.in (LIBFORMAT_PARSER): Point to 'libformat_parser'
+ build in libgrust.
+ (%.toml:, $(LIBFORMAT_PARSER):): Remove.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * Make-lang.in (LIBFORMAT_PARSER): Point to the GCC build
+ directory.
+ * ($(LIBFORMAT_PARSER)): Build in the GCC build directory.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * Make-lang.in (LIBFORMAT_PARSER): Point to the actual build artifact.
+ ($(LIBFORMAT_PARSER)): Don't cache it.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * Make-lang.in (LIBPROC_MACRO_INTERNAL): New.
+ (RUST_LIBDEPS, crab1$(exeext), rust/libformat_parser.a): Use it.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Compile libformat_parser.
+ * ast/rust-fmt.cc: New FFI definitions.
+ * ast/rust-fmt.h: Likewise.
+ * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler): Call
+ into libformat_parser.
+ * expand/rust-macro-builtins.h: Define format_args!() handler proper.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Compile rust-fmt object
+ * ast/rust-fmt.cc: New file.
+ * ast/rust-fmt.h: New file.
+
+2024-08-01 Marc Poulhiès <dkm@kataplop.net>
+
+ * rust-lang.cc (grs_langhook_type_for_mode): simplify code for
+ xImode. Add missing long_double_type_node.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * hir/rust-ast-lower-pattern.cc
+ (ASTLoweringPattern::visit):
+ Reset is_let_top_level while visiting GroupedPattern.
+
+2024-08-01 Thomas Schwinge <thomas@codesourcery.com>
+
+ * backend/rust-compile-base.cc (HIRCompileBase::compile_function):
+ For 'main', initialize 'main_identifier_node'.
+
2024-07-12 Daniel Bertalan <dani@danielbertalan.dev>
* metadata/rust-imports.cc (Import::try_package_in_directory):
+2024-08-01 Robin Dapp <rdapp@ventanamicro.com>
+
+ * gcc.target/riscv/rvv/autovec/pr116149.c: New test.
+
+2024-08-01 Patrick O'Neill <patrick@rivosinc.com>
+
+ * gcc.target/riscv/arch-41.c: New test.
+ * gcc.target/riscv/pr116111.c: New test.
+
+2024-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/116113
+ * g++.dg/cpp26/decomp11.C: New test.
+
+2024-08-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/116120
+ * g++.dg/tree-ssa/pr111150.C: Add extra checks on the test.
+ * gcc.dg/tree-ssa/pr111150-1.c: Likewise.
+ * gcc.dg/tree-ssa/pr111150.c: Likewise.
+ * g++.dg/torture/pr116120-1.C: New test.
+ * g++.dg/torture/pr116120-2.C: New test.
+
+2024-08-01 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ PR testsuite/116155
+ * g++.dg/abi/nsdmi-aggr1a.C: Disable test for effective
+ default_packed targets.
+ * g++.dg/abi/nullptr-align2.C: Ignore warning for default_packed
+ targets.
+ * g++.dg/cpp1z/aligned-new9.C: Disable test for effective
+ default_packed targets.
+ * g++.dg/cpp2a/bit-cast5.C: Ignore dg-error for default_packed
+ targets.
+ * g++.dg/pr53037-1.C: Match any default packing value.
+ * g++.dg/warn/Wpadded-1.C: Ignore warning for default_packed
+ targets.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/name_resolution25.rs: New test.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/match-never-ltype.rs: New test.
+ * rust/compile/match-never-rtype.rs: New test.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/raw-byte-string-loc.rs: Use dg-error instead of
+ dg-excess-error.
+ * rust/compile/raw-string-loc.rs: Likewise.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/raw-string-loc.rs: New test.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/func-const-unsafe.rs: New test.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/unstable-fn.rs: New test.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/deprecated-fn.rs: New test.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/raw-byte-string-loc.rs: New test.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/name_resolution23.rs: New test.
+ * rust/compile/name_resolution24.rs: New test.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/name_resolution13.rs: Add new module and remove compile
+ step.
+ * rust/compile/name_resolution14.rs: New test.
+ * rust/compile/name_resolution15.rs: New test.
+ * rust/compile/name_resolution16.rs: New test.
+ * rust/compile/name_resolution17.rs: New test.
+ * rust/compile/name_resolution18.rs: New test.
+ * rust/compile/name_resolution19.rs: New test.
+ * rust/compile/name_resolution20.rs: New test.
+ * rust/compile/name_resolution21.rs: New test.
+
+2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/name_resolution22.rs: New test.
+
+2024-08-01 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/112341
+ * g++.dg/coroutines/pr112341-2.C: New test.
+ * g++.dg/coroutines/pr112341-3.C: New test.
+ * g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C: New
+ test.
+ * g++.dg/coroutines/pr112341.C: New test.
+
+2024-08-01 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/pr116096.c: New test.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/format_args_basic_expansion.rs: New test.
+
+2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com>
+
+ * rust/compile/extern_func_with_body.rs: New test.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/pattern-struct.rs: Fix test.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/bad_stmt_enums.rs: Adjust redefinition error.
+ * rust/compile/bad_toplevel_enums.rs: Likewise.
+ * rust/compile/redef_error1.rs: Likewise.
+ * rust/compile/redef_error3.rs: Likewise.
+ * rust/compile/redef_error4.rs: Likewise.
+ * rust/compile/redef_error6.rs: Likewise.
+
+2024-08-01 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/let_alt.rs: Check for false positive.
+
+2024-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114659
+ * gcc.target/i386/pr114659.c: New testcase.
+
+2024-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/115981
+ * gcc.target/i386/avx512dq-pr90991-1.c: Add tests for no separate
+ zero extension instructions.
+ * gcc.target/i386/avx512dq-pr90991-2.c: Likewise.
+
+2024-08-01 Xiao Zeng <zengxiao@eswincomputing.com>
+
+ * gcc.target/riscv/pr105314-rtl.c: Skip zicond.
+ * gcc.target/riscv/pr105314-rtl32.c: Ditto.
+ * gcc.target/riscv/pr105314.c: Ditto.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/jit.exp: Add load_lib valgrind.exp.
+ (proc report_leak): Move to valgrind.exp, and add argument
+ leak_report_function rather than hardcoding xfail.
+ (parse_valgrind_logfile): Likewise.
+ (fixed_host_execute): Pass xfail to parse_valgrind_logfile.
+ * lib/valgrind.exp: New file, based on the above.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/sarif-output/sarif.py: Drop unused import of gzip.
+
+2024-08-01 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/sarif-output/missing-semicolon.c: New test.
+ * gcc.dg/sarif-output/sarif.py (get_location_physical_region): New.
+ (get_location_snippet_text): New.
+ * gcc.dg/sarif-output/test-missing-semicolon.py: New test.
+
2024-07-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/105361
+2024-08-01 Tobias Burnus <tburnus@baylibre.com>
+ Richard Biener <rguenther@suse.de
+
+ PR middle-end/115637
+ * testsuite/libgomp.fortran/declare-target-link.f90: Uncomment
+ now working code.
+
2024-07-31 Sam James <sam@gentoo.org>
* testsuite/libgomp.c++/pr24455.C: Fix dg-require-effective-target directive order.
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/src/lib.rs: Use new Handle struct and expose it.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/src/lib.rs: Switch interface to use more parser
+ parameters.
+ * libformat_parser/src/bin.rs: Use new interface.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/generic_format_parser/src/lib.rs: Add IsSomeAnd<T>
+ trait, impl it for Option<T>.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/generic_format_parser/src/lib.rs: Remove
+ unused deprecated attribute and unused import.
+ * libformat_parser/src/lib.rs: Remove unused import.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/src/lib.rs: Add debug prompt.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/src/lib.rs: Leak Boxes properly for C++ to
+ see them, add memory release function.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/src/lib.rs: Add IntoFFI trait.
+ * libformat_parser/libformat-parser.h: Removed.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/cbindgen.toml: New file.
+ * libformat_parser/libformat-parser.h: New file.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/generic_format_parser/src/lib.rs: Add generic
+ library.
+ * libformat_parser/src/lib.rs: Add base for FFI interface.
+
+2024-08-01 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * libformat_parser/Makefile.am: New.
+ * Makefile.am [!TARGET_LIBRARY] (SUBDIRS): Add 'libformat_parser'.
+ * configure.ac: Handle it.
+ (TARGET_LIBRARY): New 'AM_CONDITIONAL'.
+ * libformat_parser/Makefile.in: Generate.
+ * Makefile.in: Regenerate.
+ * configure: Likewise.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/.cargo/config: New file.
+ * libformat_parser/vendor.NOTES: New file.
+ * libformat_parser/vendor/libc/.cargo-checksum.json: New file.
+ * libformat_parser/vendor/libc/CONTRIBUTING.md: New file.
+ * libformat_parser/vendor/libc/Cargo.toml: New file.
+ * libformat_parser/vendor/libc/LICENSE-APACHE: New file.
+ * libformat_parser/vendor/libc/LICENSE-MIT: New file.
+ * libformat_parser/vendor/libc/README.md: New file.
+ * libformat_parser/vendor/libc/build.rs: New file.
+ * libformat_parser/vendor/libc/rustfmt.toml: New file.
+ * libformat_parser/vendor/libc/src/fixed_width_ints.rs: New file.
+ * libformat_parser/vendor/libc/src/fuchsia/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/fuchsia/align.rs: New file.
+ * libformat_parser/vendor/libc/src/fuchsia/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/fuchsia/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/fuchsia/riscv64.rs: New file.
+ * libformat_parser/vendor/libc/src/fuchsia/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/hermit/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/hermit/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/hermit/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/lib.rs: New file.
+ * libformat_parser/vendor/libc/src/macros.rs: New file.
+ * libformat_parser/vendor/libc/src/psp.rs: New file.
+ * libformat_parser/vendor/libc/src/sgx.rs: New file.
+ * libformat_parser/vendor/libc/src/solid/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/solid/arm.rs: New file.
+ * libformat_parser/vendor/libc/src/solid/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/switch.rs: New file.
+ * libformat_parser/vendor/libc/src/teeos/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/aix/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/aix/powerpc64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b32/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b32/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b64/aarch64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b64/aarch64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b64/x86_64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/b64/x86_64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/long_array.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/apple/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/arm.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd15/x86_64.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/powerpc.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/riscv64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/freebsdlike/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/arm.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/mips.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/powerpc.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/riscv64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/sparc64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/x86.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/netbsd/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/arm.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/mips64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/powerpc.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/powerpc64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/riscv64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/sparc64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/x86.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/bsd/netbsdlike/openbsd/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/haiku/b32.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/haiku/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/haiku/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/haiku/native.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/haiku/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/hurd/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/hurd/b32.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/hurd/b64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/hurd/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/hurd/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b32/arm.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b32/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b32/x86/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b32/x86/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/aarch64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/aarch64/int128.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/aarch64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/riscv64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/riscv64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/x86_64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/b64/x86_64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/android/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/emscripten/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/emscripten/lfs64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/emscripten/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/emscripten/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/arch/generic/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/arch/mips/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/arch/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/arch/powerpc/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/arch/sparc/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/arm/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/arm/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/csky/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/csky/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/m68k/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/mips/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/mips/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/powerpc.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/riscv32/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/sparc/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/x86/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b32/x86/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/fallback.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/int128.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/mips64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/riscv64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/s390x.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/sparc64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/x86_64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/gnu/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/arm/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/arm/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/hexagon.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/mips/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/mips/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/powerpc.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/x86/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b32/x86/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/aarch64/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/aarch64/int128.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/mips64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/powerpc64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/s390x.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/x86_64/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/lfs64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/musl/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/non_exhaustive.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/arm/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/arm/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/arm/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips32/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips64/align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs:
+ New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mips/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/x86_64/l4re.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/x86_64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/linux/uclibc/x86_64/other.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/linux_like/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/aarch64/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/arm/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/espidf/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/generic.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/horizon/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/powerpc/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/newlib/vita/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/no_align.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/nto/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/nto/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/nto/neutrino.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/nto/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/redox/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/compat.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/illumos.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/solaris.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/x86.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/unix/solarish/x86_common.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/aarch64.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/arm.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/powerpc.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/powerpc64.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/x86.rs: New file.
+ * libformat_parser/vendor/libc/src/vxworks/x86_64.rs: New file.
+ * libformat_parser/vendor/libc/src/wasi.rs: New file.
+ * libformat_parser/vendor/libc/src/windows/gnu/align.rs: New file.
+ * libformat_parser/vendor/libc/src/windows/gnu/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/windows/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/windows/msvc/mod.rs: New file.
+ * libformat_parser/vendor/libc/src/xous.rs: New file.
+ * libformat_parser/vendor/libc/tests/const_fn.rs: New file.
+ * libformat_parser/vendor/unicode-xid/.cargo-checksum.json: New file.
+ * libformat_parser/vendor/unicode-xid/COPYRIGHT: New file.
+ * libformat_parser/vendor/unicode-xid/Cargo.toml: New file.
+ * libformat_parser/vendor/unicode-xid/LICENSE-APACHE: New file.
+ * libformat_parser/vendor/unicode-xid/LICENSE-MIT: New file.
+ * libformat_parser/vendor/unicode-xid/README.md: New file.
+ * libformat_parser/vendor/unicode-xid/benches/xid.rs: New file.
+ * libformat_parser/vendor/unicode-xid/src/lib.rs: New file.
+ * libformat_parser/vendor/unicode-xid/src/tables.rs: New file.
+ * libformat_parser/vendor/unicode-xid/src/tests.rs: New file.
+ * libformat_parser/vendor/unicode-xid/tests/exhaustive_tests.rs: New file.
+
+2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * libformat_parser/Cargo.lock: New file.
+ * libformat_parser/Cargo.toml: New file.
+ * libformat_parser/generic_format_parser/Cargo.toml: New file.
+ * libformat_parser/generic_format_parser/src/lib.rs: New file.
+ * libformat_parser/src/bin.rs: New file.
+ * libformat_parser/src/lib.rs: New file.
+
2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
* libproc_macro_internal/proc_macro.h (enum ProcmacroTag): Add
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/utility.h (__is_in_place_type): Remove.
+ * include/std/variant (__is_in_place_tag): Remove.
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/align.h (align, assume_aligned): Use
+ __UINTPTR_TYPE__ instead of uintptr_t. Do not include
+ <stdint.h>.
+ * include/bits/atomic_base.h (__atomic_ref): Likewise.
+ * include/bits/atomic_wait.h (__waiter_pool_base::_S_for):
+ Likewise.
+ * include/std/atomic: Include <cstdint>.
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_base.h (__atomic_impl::compare_exchange_weak):
+ Remove unused parameter.
+ (__atomic_impl::compare_exchange_strong): Likewise.
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/113807
+ * include/std/bitset (bitset::_M_is_equal()): Use memcmp to
+ optimize operator==.
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
+ Use ARGS to limit number of iterations for simulators.
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/113841
+ * include/bits/basic_string.h (basic_string::basic_string()):
+ Constrain so that it's only present if the allocator is default
+ constructible.
+ * include/bits/cow_string.h (basic_string::basic_string()):
+ Likewise.
+ * testsuite/21_strings/basic_string/cons/113841.cc: New test.
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/99942
+ * include/bits/cow_string.h (data()): Change to noexcept(false).
+
+2024-08-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/23_containers/map/operators/1_neg.cc (test01): Remove test variable
+ and use 'no match' dg-error patter.
+ * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise.
+
2024-07-31 François Dumont <frs.dumont@gmail.com>
* testsuite/23_containers/map/operators/1_neg.cc (test01): Add test variable