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