https://gcc.gnu.org/g:02e83ff378ee71049b83f84792e7fd1e22f51790

commit r15-2657-g02e83ff378ee71049b83f84792e7fd1e22f51790
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Fri Aug 2 00:18:55 2024 +0000

    Daily bump.

Diff:
---
 contrib/ChangeLog       |    5 +
 gcc/ChangeLog           |  172 +++++++
 gcc/DATESTAMP           |    2 +-
 gcc/ada/ChangeLog       |  298 ++++++++++++
 gcc/cp/ChangeLog        |   35 ++
 gcc/fortran/ChangeLog   |    6 +
 gcc/rust/ChangeLog      | 1153 +++++++++++++++++++++++++++++++++++++++++++++++
 gcc/testsuite/ChangeLog |  171 +++++++
 libgomp/ChangeLog       |    7 +
 libgrust/ChangeLog      |  344 ++++++++++++++
 libstdc++-v3/ChangeLog  |   53 +++
 11 files changed, 2245 insertions(+), 1 deletion(-)

diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 4d3a99a7091d..9b36caf02bb1 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2024-08-01  Thomas Schwinge  <tschwi...@baylibre.com>
+
+       * gcc_update (files_and_dependencies): Update for
+       'libformat_parser' in libgrust.
+
 2024-07-19  Richard Biener  <rguent...@suse.de>
 
        * gcc-changelog/git_update_version.py: Remove gcc-11 branch.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3d75a128708f..b4f56beddadb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,175 @@
+2024-08-01  Robin Dapp  <rd...@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  <patr...@rivosinc.com>
+
+       PR target/116111
+       * config/riscv/riscv.cc (riscv_option_override): Add error.
+
+2024-08-01  Tamar Christina  <tamar.christ...@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.christ...@arm.com>
+
+       * config/aarch64/tuning_models/neoversen2.h: Update costs.
+
+2024-08-01  Tamar Christina  <tamar.christ...@arm.com>
+
+       * config/aarch64/tuning_models/generic_armv9_a.h: Update costs.
+
+2024-08-01  Tamar Christina  <tamar.christ...@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.christ...@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.christ...@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.christ...@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_apin...@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....@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  <rguent...@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  <rguent...@suse.de>
+
+       * config/i386/i386.cc (TARGET_MODE_CAN_TRANSFER_BITS): Define.
+       (ix86_mode_can_transfer_bits): New function.
+
+2024-08-01  Richard Biener  <rguent...@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  <a...@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  <a...@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  <ja...@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  <tbur...@baylibre.com>
+           Richard Biener  <rguent...@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.k...@intel.com>
+           Hu, Lin1  <lin1...@intel.com>
+
+       PR target/113744
+       * config/i386/i386.md (*add<mode>_4): Remove ndd support.
+       (*adddi_4): Ditto.
+
+2024-08-01  Mark Harmstone  <m...@harmstone.com>
+
+       * dwarf2codeview.cc (get_type_num_struct): Fix NULL pointer dereference.
+
+2024-08-01  David Malcolm  <dmalc...@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  <dmalc...@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  <dmalc...@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  <dmalc...@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_apin...@quicinc.com>
 
        PR middle-end/116134
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 5b64322fc602..ba6415cbd757 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240801
+20240802
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6d4e4abf85b6..524d324092cc 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,301 @@
+2024-08-01  Yannick Moy  <m...@adacore.com>
+
+       * libgnat/a-strunb.adb (Realloc_For_Chunk): Fix computation of new
+       size.
+
+2024-08-01  Yannick Moy  <m...@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  <troja...@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Don't check for duplicate
+       SPARK_Mode pragmas in configuration files.
+
+2024-08-01  Gary Dismukes  <dismu...@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  <ebotca...@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  <troja...@adacore.com>
+
+       * sem_ch5.adb (Analyze_Loop_Parameter_Specification):
+       Unconditionally set the type of loop parameter.
+
+2024-08-01  Ghjuvan Lacambre  <lacam...@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  <mira...@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  <in...@adacore.com>
+
+       * sem_warn.adb (Output_Obsolescent_Entity_Warnings): use the ?j?
+       in warning messages.
+
+2024-08-01  Ronan Desplanques  <desplanq...@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  <d...@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  <ebotca...@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  <ebotca...@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  <char...@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  <lacam...@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  <troja...@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  <troja...@adacore.com>
+
+       * sem_ch13.adb (Check_Aspect_Too_Late): Prevent freezing during
+       preanalysis.
+
+2024-08-01  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_ch13.adb (Resolve_Aspect_Expression): Don't set
+       Must_Not_Freeze before preanalyzing spec expressions.
+
+2024-08-01  Steve Baird  <ba...@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  <mira...@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  <char...@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  <dismu...@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  <ebotca...@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  <ba...@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  <lacam...@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Stop
+       ignoring Component_Size attribute in CodePeer_Mode.
+
+2024-08-01  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * sem_ch5.adb (Prepare_Param_Spec_Loop): Fix criterion for
+       wrapping loop statements into blocks.
+
+2024-08-01  Arnaud Charlet  <char...@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  <desplanq...@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  <ebotca...@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  <ebotca...@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  <ma...@orcam.me.uk>
 
        * gcc-interface/Make-lang.in (ada.all.cross): Move recipe to...
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index eff18919deb5..70406b6f3739 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,38 @@
+2024-08-01  Jakub Jelinek  <ja...@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ć  <ar...@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  <pola...@redhat.com>
 
        PR c++/115645
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e3e0d9b98d93..f45c89f3b6ca 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2024-08-01  Jakub Jelinek  <ja...@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  <tbur...@baylibre.com>
 
        PR fortran/115559
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index ef602b919bed..d6cd1f924ec2 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,1156 @@
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit
+       inherent impl type.
+
+2024-08-01  Jakub Dupak  <d...@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  <d...@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  <d...@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  <d...@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  <d...@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  <d...@jakubdupak.com>
+
+       * checks/errors/borrowck/rust-bir-free-region.h: New file.
+
+2024-08-01  Jakub Dupak  <d...@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  <d...@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  <d...@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  <d...@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  <d...@jakubdupak.com>
+
+       * checks/errors/borrowck/rust-bir-place.h:
+       Create place tree traverse API.
+
+2024-08-01  Jakub Dupak  <d...@jakubdupak.com>
+
+       * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc 
(ExprStmtBuilder::visit):
+       Use callable API
+
+2024-08-01  Jakub Dupak  <d...@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  <d...@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.co...@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.ga...@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.ga...@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.ga...@gmail.com>
+
+       * util/rust-attribute-values.h
+       (Attributes::UNSTABLE): New.
+       * util/rust-attributes.cc
+       (__definitions): Add Attributes::UNSTABLE.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@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.ga...@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.pa...@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.co...@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.pa...@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.pa...@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.pa...@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.pa...@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.pa...@embecosm.com>
+
+       * util/rust-canonical-path.h: Also assign crate number.
+
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@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.pa...@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.pa...@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.pa...@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.pa...@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.pa...@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.pa...@embecosm.com>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
+       Change enum type namespace.
+
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@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.pa...@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.pa...@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.pa...@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.pa...@embecosm.com>
+
+       * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit
+       constant item's types.
+
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit
+       function return type.
+
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@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.pa...@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.pa...@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.pa...@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.pa...@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.pa...@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.pa...@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.pa...@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.co...@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.pa...@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.pa...@embecosm.com>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Change
+       error message.
+
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@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.pa...@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.co...@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.co...@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.co...@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.co...@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.co...@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.co...@embecosm.com>
+
+       * rust-session-manager.cc (Session::compile_crate): Create an immutable
+       view of the name resolution context.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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.co...@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  <tschwi...@baylibre.com>
+
+       * lex/rust-lex.cc (is_identifier_start): Placate clang-format.
+
+2024-08-01  jjasmine  <tanghocle...@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.go...@gmail.com>
+
+       * expand/rust-derive.cc (DeriveVisitor::derive): Fix typo
+
+2024-08-01  jjasmine  <tanghocle...@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  <d...@jakubdupak.com>
+
+       * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit):
+       Collect variance info from types.
+
+2024-08-01  Jakub Dupak  <d...@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  <d...@jakubdupak.com>
+
+       * typecheck/rust-tyty-subst.cc (SubstitutionRef::get_arg_at):
+       Add unified API.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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.co...@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.co...@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.co...@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.pa...@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.pa...@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  <tschwi...@baylibre.com>
+
+       * backend/rust-tree.cc (c_common_type_for_mode): Placate clang-format.
+
+2024-08-01  0xn4utilus  <gyanendrabanja...@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  <gyanendrabanja...@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  <gyanendrabanja...@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  <gyanendrabanja...@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  <gyanendrabanja...@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  <sourabhr...@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.ga...@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  <tanghocle...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add error 
emitting
+
+2024-08-01  jjasmine  <tanghocle...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add error 
emitting
+
+2024-08-01  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler): Add
+       documentation regarding future tasks.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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.co...@embecosm.com>
+
+       * parse/rust-parse.h: New method.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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.ga...@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.co...@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.co...@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.co...@embecosm.com>
+
+       * resolve/rust-ast-resolve-implitem.h: Declare external types as new
+       types.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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  <tanghocle...@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.co...@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.co...@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.co...@embecosm.com>
+
+       * expand/rust-macro-builtins.cc (MacroBuiltin::format_args_handler):
+       Construct string to parser properly.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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.co...@embecosm.com>
+
+       * ast/rust-fmt.h: Add remaining FFI types.
+
+2024-08-01  Thomas Schwinge  <tschwi...@baylibre.com>
+
+       * Make-lang.in (LIBFORMAT_PARSER): Point to 'libformat_parser'
+       build in libgrust.
+       (%.toml:, $(LIBFORMAT_PARSER):): Remove.
+
+2024-08-01  Thomas Schwinge  <tschwi...@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  <tschwi...@baylibre.com>
+
+       * Make-lang.in (LIBFORMAT_PARSER): Point to the actual build artifact.
+       ($(LIBFORMAT_PARSER)): Don't cache it.
+
+2024-08-01  Thomas Schwinge  <tschwi...@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.co...@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.co...@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  <d...@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.ga...@gmail.com>
+
+       * hir/rust-ast-lower-pattern.cc
+       (ASTLoweringPattern::visit):
+       Reset is_let_top_level while visiting GroupedPattern.
+
+2024-08-01  Thomas Schwinge  <tho...@codesourcery.com>
+
+       * backend/rust-compile-base.cc (HIRCompileBase::compile_function):
+       For 'main', initialize 'main_identifier_node'.
+
 2024-07-12  Daniel Bertalan  <d...@danielbertalan.dev>
 
        * metadata/rust-imports.cc (Import::try_package_in_directory):
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 458651b6adc0..1518681948a9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,174 @@
+2024-08-01  Robin Dapp  <rd...@ventanamicro.com>
+
+       * gcc.target/riscv/rvv/autovec/pr116149.c: New test.
+
+2024-08-01  Patrick O'Neill  <patr...@rivosinc.com>
+
+       * gcc.target/riscv/arch-41.c: New test.
+       * gcc.target/riscv/pr116111.c: New test.
+
+2024-08-01  Jakub Jelinek  <ja...@redhat.com>
+
+       PR c++/116113
+       * g++.dg/cpp26/decomp11.C: New test.
+
+2024-08-01  Andrew Pinski  <quic_apin...@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  <dimi...@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.pa...@embecosm.com>
+
+       * rust/compile/name_resolution25.rs: New test.
+
+2024-08-01  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/match-never-ltype.rs: New test.
+       * rust/compile/match-never-rtype.rs: New test.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.ga...@gmail.com>
+
+       * rust/compile/raw-string-loc.rs: New test.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/func-const-unsafe.rs: New test.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/unstable-fn.rs: New test.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/deprecated-fn.rs: New test.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/raw-byte-string-loc.rs: New test.
+
+2024-08-01  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * rust/compile/name_resolution23.rs: New test.
+       * rust/compile/name_resolution24.rs: New test.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.pa...@embecosm.com>
+
+       * rust/compile/name_resolution22.rs: New test.
+
+2024-08-01  Arsen Arsenović  <ar...@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....@intel.com>
+
+       * gcc.target/i386/pr116096.c: New test.
+
+2024-08-01  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/format_args_basic_expansion.rs: New test.
+
+2024-08-01  0xn4utilus  <gyanendrabanja...@gmail.com>
+
+       * rust/compile/extern_func_with_body.rs: New test.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/pattern-struct.rs: Fix test.
+
+2024-08-01  Owen Avery  <powerboat9.ga...@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.ga...@gmail.com>
+
+       * rust/compile/let_alt.rs: Check for false positive.
+
+2024-08-01  Richard Biener  <rguent...@suse.de>
+
+       PR tree-optimization/114659
+       * gcc.target/i386/pr114659.c: New testcase.
+
+2024-08-01  Jakub Jelinek  <ja...@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  <zengx...@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  <dmalc...@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  <dmalc...@redhat.com>
+
+       * gcc.dg/sarif-output/sarif.py: Drop unused import of gzip.
+
+2024-08-01  David Malcolm  <dmalc...@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  <jvdeli...@gcc.gnu.org>
 
        PR libfortran/105361
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 11dd34efc7d6..c4815a991ef7 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,10 @@
+2024-08-01  Tobias Burnus  <tbur...@baylibre.com>
+           Richard Biener  <rguent...@suse.de
+
+       PR middle-end/115637
+       * testsuite/libgomp.fortran/declare-target-link.f90: Uncomment
+       now working code.
+
 2024-07-31  Sam James  <s...@gentoo.org>
 
        * testsuite/libgomp.c++/pr24455.C: Fix dg-require-effective-target 
directive order.
diff --git a/libgrust/ChangeLog b/libgrust/ChangeLog
index 06974682ae7a..63f76eb0631d 100644
--- a/libgrust/ChangeLog
+++ b/libgrust/ChangeLog
@@ -1,3 +1,347 @@
+2024-08-01  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * libformat_parser/src/lib.rs: Use new Handle struct and expose it.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@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.co...@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.co...@embecosm.com>
+
+       * libformat_parser/src/lib.rs: Add debug prompt.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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.co...@embecosm.com>
+
+       * libformat_parser/src/lib.rs: Add IntoFFI trait.
+       * libformat_parser/libformat-parser.h: Removed.
+
+2024-08-01  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * libformat_parser/cbindgen.toml: New file.
+       * libformat_parser/libformat-parser.h: New file.
+
+2024-08-01  Arthur Cohen  <arthur.co...@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  <tschwi...@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.co...@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.co...@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.pa...@embecosm.com>
 
        * libproc_macro_internal/proc_macro.h (enum ProcmacroTag): Add
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 44c496b8e74a..a563233197c6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,56 @@
+2024-08-01  Jonathan Wakely  <jwak...@redhat.com>
+
+       * include/bits/utility.h (__is_in_place_type): Remove.
+       * include/std/variant (__is_in_place_tag): Remove.
+
+2024-08-01  Jonathan Wakely  <jwak...@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  <jwak...@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  <jwak...@redhat.com>
+
+       PR libstdc++/113807
+       * include/std/bitset (bitset::_M_is_equal()): Use memcmp to
+       optimize operator==.
+
+2024-08-01  Jonathan Wakely  <jwak...@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  <jwak...@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  <jwak...@redhat.com>
+
+       PR libstdc++/99942
+       * include/bits/cow_string.h (data()): Change to noexcept(false).
+
+2024-08-01  Jonathan Wakely  <jwak...@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.dum...@gmail.com>
 
        * testsuite/23_containers/map/operators/1_neg.cc (test01): Add test 
variable

Reply via email to