[gcc r16-3998] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Sat Sep 20 00:20:55 GMT 2025


https://gcc.gnu.org/g:dcc231417fcb24f90ad2563c47edee04326426a1

commit r16-3998-gdcc231417fcb24f90ad2563c47edee04326426a1
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat Sep 20 00:20:23 2025 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 145 +++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       | 225 ++++++++++++++++++++++++++++++++
 gcc/fortran/ChangeLog   |   7 +
 gcc/m2/ChangeLog        | 335 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/testsuite/ChangeLog |  71 ++++++++++
 libgcc/ChangeLog        |   5 +
 libgm2/ChangeLog        |   8 ++
 libstdc++-v3/ChangeLog  |  30 +++++
 9 files changed, 827 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2dcca83ff42a..fe02fbfd02d0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,148 @@
+2025-09-19  Alexandre Oliva  <oliva@adacore.com>
+
+	* ira.cc (setup_reg_equiv): Retain function invariant
+	equivalences.
+
+2025-09-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Take gimple*
+	instead of iterator.
+	(optimize_agr_copyprop): Likewise.
+	(simplify_builtin_call): Update call to optimize_aggr_zeroprop.
+	(pass_forwprop::execute): Update calls to optimize_aggr_zeroprop
+	and optimize_agr_copyprop.
+
+2025-09-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop_1): Change return type
+	to void.
+	(optimize_aggr_zeroprop): Likewise.
+	(optimize_agr_copyprop_1): Likewise.
+	(optimize_agr_copyprop_arg): Likewise.
+	(optimize_agr_copyprop): Likewise.
+	(simplify_builtin_call): Handle update of the return type
+	of optimize_aggr_zeroprop.
+	(pass_forwprop::execute): Likewise and optimize_agr_copyprop.
+
+2025-09-19  Michael Eager  <eager@eagercon.com>
+
+	PR target/118280
+	* config/microblaze/iterators.md: New.
+	* config/microblaze/microblaze-protos.h: Add
+	microblaze_subword_address.
+	* config/microblaze/microblaze.cc: Ditto.
+	* config/microblaze/microblaze.md: constants: Add UNSPECV_CAS_BOOL,
+	UNSPECV_CAS_MEM, UNSPECV_CAS_VAL, UNSPECV_ATOMIC_FETCH_OP
+	type: add atomic
+	* config/microblaze/sync.md: Add atomic_fetch_<atomic_optab>si
+	atomic_test_and_set
+
+2025-09-19  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-fnsummary.cc (estimate_edge_devirt_benefit): Handle speculative
+	edges correctly.
+	(estimate_edge_size_and_time): Even when not collecting hints,
+	devirtualization affects function size.
+	(estimate_calls_size_and_time): Do not use tables when devirtualization
+	is possible.
+
+2025-09-19  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.cc (cgraph_edge::make_direct): Do not ICE when there are
+	multiple speculations to comptaible targets
+	(cgraph_edge::combined_sreal_frequency): New member function.
+	* cgraph.h (cgraph_edge::combined_sreal_frequency): Declare.
+	* ipa-cp.cc (devirtualization_time_bonus): Return sreal; consider
+	profile.
+	(estimate_local_effects): Likewise.
+
+2025-09-19  Gaius Mulley  <gaiusmod2@gmail.com>
+
+	PR modula2/121856
+	* doc/gm2.texi (Compiler options): New item -fwideset.
+
+2025-09-19  Jeff Law  <jlaw@ventanamicro.com>
+
+	PR target/121983
+	* config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Make sure
+	object is a REG before asking for its REGNO.  Fix a trivial
+	whitespace nit.
+
+2025-09-19  Raphael Moreira Zinsly  <rzinsly@ventanamicro.com>
+
+	* config/riscv/riscv-v.cc
+	(shuffle_slide_patterns): Cover more permutations.
+
+2025-09-19  Jim Lin  <jim@andestech.com>
+
+	* config/riscv/riscv.cc (riscv_compute_frame_info): Remove the
+	dedicated calculation for RVE.
+
+2025-09-19  Jeff Law  <jlaw@ventanamicro.com>
+
+	* config.gcc (riscv*); Add riscv-bclr-lowest-set-bit.o to extra_objs.
+	* config/riscv/riscv-bclr-lowest-set-bit.cc: New file.
+	* config/riscv/riscv-passes.def: Add new pass after combine.
+	* config/riscv/riscv-protos.h (make_pass_bclr_lowest_set_bit): Add
+	prototype.
+	* config/riscv/t-riscv: Add rules to build riscv-bclr-lowest-set-bit.o.
+
+2025-09-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.cc (compute_antic_aux): Remove dead code.
+
+2025-09-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-vectorizer.h (_stmt_vec_info::store_count): Remove.
+	(DR_GROUP_STORE_COUNT): Likewise.
+	* tree-vect-stmts.cc (vect_transform_stmt): Remove non-SLP
+	path.
+
+2025-09-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-vectorizer.h (vect_get_num_copies): Remove unused
+	overload.  Remove defaulted vectype argument and always
+	use the vector type of the SLP node.
+	* tree-vect-loop.cc (vect_reduction_update_partial_vector_usage):
+	Adjust.
+	(vectorizable_lane_reducing): Likewise.
+	(vect_transform_reduction): Likewise.
+	(vectorizable_nonlinear_induction): Likewise.
+	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
+	Likewise.
+
+2025-09-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-vectorizer.h (_slp_tree::vec_stmts_size): Remove.
+	(SLP_TREE_NUMBER_OF_VEC_STMTS): Likewise.
+	* tree-vect-loop.cc (vectorizable_reduction): Adjust.
+	(vect_transform_cycle_phi): Likewise.
+	(vect_transform_lc_phi): Likewise.
+	(vectorizable_recurr): Likewise.
+	(vectorizable_induction): Likewise.
+	(vectorizable_live_operation): Likewise.
+	* tree-vect-slp.cc (_slp_tree::_slp_tree): Do not set
+	SLP_TREE_NUMBER_OF_VEC_STMTS.
+	(vect_slp_analyze_node_operations_1): Likewise.
+	(vect_slp_analyze_node_operations): Likewise.
+	(vect_prologue_cost_for_slp): Adjust.
+	(vect_create_constant_vectors): Likewise.
+	(vect_get_slp_vect_def): Likewise.
+	(vect_transform_slp_perm_load_1): Likewise.
+	(vectorizable_slp_permutation_1): Likewise.
+	(vect_schedule_slp_node): Likewise.
+	(vectorize_slp_instance_root_stmt): Likewise.
+	* tree-vect-stmts.cc (vect_model_simple_cost): Likewise.
+	(vectorizable_bswap): Likewise.
+	(vectorizable_call): Likewise.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+	(vectorizable_condition): Likewise.
+	(vectorizable_early_exit): Likewise.
+
 2025-09-18  David Malcolm  <dmalcolm@redhat.com>
 
 	* diagnostics/client-data-hooks.h (client_data_hooks::dump): New.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index f340dc5a333b..2ca53ee45db7 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20250919
+20250920
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 379816ed6be3..084349c3886a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,228 @@
+2025-09-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (create_var_decl): Add LINKONCE_FLAG boolean
+	parameter.
+	(create_subprog_decl): Likewise.
+	* gcc-interface/decl.cc (gnat_to_gnu_entity): Adjust calls to
+	create_var_decl and create_subprog_decl.
+	(elaborate_expression_1): Likewise.
+	* gcc-interface/trans.cc (gigi): Likewise.
+	(build_raise_check): Likewise.
+	(Subprogram_Body_to_gnu): Likewise.
+	(create_temporary): Likewise.
+	(Exception_Handler_to_gnu): Likewise.
+	(Compilation_Unit_to_gnu): Likewise.
+	(gnat_to_gnu): Likewise.
+	(use_alias_for_thunk_p): Return false for a one-only target.
+	* gcc-interface/utils.cc (maybe_pad_type): Adjust call to
+	create_var_decl.
+	(create_var_decl): Add LINKONCE_FLAG boolean parameter.
+	(create_subprog_decl): Likewise.
+
+2025-09-19  Marc Poulhiès  <poulhies@adacore.com>
+
+	* gcc-interface/ada-tree.h (TYPE_EXTENDED_POINTER_P): New.
+	(TYPE_IS_EXTENDED_POINTER_P): New.
+	(TYPE_EXTENDED_UNCONSTRAINED_ARRAY): New.
+	(SET_TYPE_EXTENDED_UNCONSTRAINED_ARRAY): New.
+	(TYPE_DUMMY_EXT_POINTER_TO): New.
+	(SET_TYPE_DUMMY_EXT_POINTER_TO): New.
+	* gcc-interface/decl.cc (get_extended_unconstrained_array): New.
+	(gnat_to_gnu_entity): Handle extended access type.
+	(get_unpadded_extended_type): New.
+	(gnat_to_gnu_component_type): Handle extended access type.
+	(build_template_type): New.
+	(gnat_to_gnu_field): Handle extended access type.
+	(validate_size): Likewise.
+	(set_rm_size): Likewise.
+	(copy_and_substitute_in_layout): Likewise.
+	(rm_size): Likewise.
+	* gcc-interface/gigi.h (get_unpadded_extended_type): New.
+	(build_template_type): New.
+	(build_dummy_unc_pointer_types_ext): New.
+	(finish_extended_pointer_type): New.
+	(build_unc_object_type_from_ptr): Rename first parameter.
+	* gcc-interface/misc.cc (gnat_print_type): Handle extended access type.
+	* gcc-interface/trans.cc (Identifier_to_gnu): Likewise.
+	(Attribute_to_gnu): Likewise.
+	(gnat_to_gnu): Likewise.
+	* gcc-interface/utils.cc (convert_to_fat_pointer): Assert if converting an
+	extended pointer.
+	(build_dummy_unc_pointer_types_ext): New.
+	(finish_extended_pointer_type): New.
+	(finish_record_type): Handle extended access type.
+	(build_unc_object_type_from_ptr): Likewise.
+	(convert_to_extended_pointer): New.
+	(convert): Handle extended access type.
+	(gnat_pushdecl): Likewise.
+	(maybe_pad_type): Likewise.
+	* gcc-interface/utils2.cc (build_unary_op): Likewise.
+	(build_binary_op): Likewise.
+	(build_allocator): Likewise.
+	(gnat_save_expr): Likewise.
+	(gnat_protect_expr): Likewise.
+	(gnat_stabilize_reference_1): Likewise.
+
+2025-09-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Bail out if the prefix
+	has Void_Type.
+
+2025-09-19  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_ch4.adb (Analyze_User_Defined_Binary_Op): Remove declare block.
+
+2025-09-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_rm/gnat_language_extensions.rst (Structural Generic
+	Instantiation): New entry
+	* einfo.ads (Is_Link_Once): New flag defined in entities.
+	* sinfo.ads (Is_Structural): New flag defined in instantiations.
+	* gen_il-fields.ads (Opt_Field_Enum): Add Is_Link_Once and
+	Is_Structural.
+	* gen_il-gen-gen_entities.adb (Entity_Kind): Add Is_Link_Once
+	semantic flag.
+	* gen_il-gen-gen_nodes.adb (N_Generic_Instantiation): Move up
+	Parent_Spec field and add Is_Structural semantic flag.
+	* frontend.adb: Add with clause for Sem_Ch12.
+	(Frontend): After analysis is complete and bodies are instantiated,
+	call Sem_Ch12.Mark_Link_Once on the declarations of the main unit.
+	* par.adb (P_Qualified_Simple_Name): Delete.
+	(P_Qualified_Simple_Name_Resync): Likewise
+	(P_Exception_Name): New function declaration.
+	(P_Label_Name): Likewise.
+	(P_Loop_Name): Likewise.
+	(P_Generic_Unit_Name): Likewise.
+	(P_Library_Unit_Name): Likewise.
+	(P_Package_Name): Likewise.
+	(P_Parent_Unit_Name): Likewise.
+	(P_Subtype_Name): Likewise.
+	(P_Subtype_Name_Resync): Likewise.
+	* par-ch3.adb (P_Subtype_Mark_Resync): Replace call to
+	P_Qualified_Simple_Name_Resync by P_Subtype_Name_Resync.
+	(P_Identifier_Declarations): Replace call to
+	P_Qualified_Simple_Name_Resync by P_Exception_Name.
+	(P_Derived_Type_Def_Or_Private_Ext_Decl): Replace call to
+	P_Qualified_Simple_Name by P_Subtype_Name.
+	(P_Interface_Type_Definition): Replace calls to
+	P_Qualified_Simple_Name by P_Subtype_Name.
+	* par-ch4.adb (P_Reduction_Attribute_Reference): Move around and
+	change name of parameter.
+	(P_Name): Document new grammar rule and make a couple of tweaks.
+	(P_Exception_Name): New function.
+	(P_Label_Name): Likewise.
+	(P_Loop_Name): Likewise.
+	(P_Generic_Unit_Name): Likewise.
+	(P_Library_Unit_Name): Likewise.
+	(P_Package_Name): Likewise.
+	(P_Parent_Unit_Name): Likewise.
+	(P_Subtype_Name): Likewise.
+	(P_Subtype_Name_Resync): Likewise.
+	(P_Qualified_Simple_Name): Rename into...
+	(P_Simple_Name): ...this.
+	(P_Qualified_Simple_Name_Resync): Rename into...
+	(P_Simple_Name_Resync): ...this.  Accept left parenthesis and
+	dot as name extensions.
+	(P_Allocator): Replace call to P_Qualified_Simple_Name_Resync
+	by P_Subtype_Name_Resync.
+	* par-ch5.adb (P_Goto_Statement): Replace call to
+	P_Qualified_Simple_Name by P_Label_Name.
+	(Parse_Loop_Flow_Statement): Replace call to
+	P_Qualified_Simple_Name by P_Loop_Name.
+	* par-ch6.adb (P_Subprogram): Replace call to
+	P_Qualified_Simple_Name by P_Generic_Unit_Name.
+	* par-ch7.adb (P_Package): Replace calls to
+	P_Qualified_Simple_Name by P_Package_Name and P_Generic_Unit_Name.
+	* par-ch8.adb (P_Use_Package_Clause): Replace calls to
+	P_Qualified_Simple_Name by P_Package_Name.
+	* par-ch9.adb (P_Task): Replace call to
+	P_Qualified_Simple_Name by P_Subtype_Name.
+	(P_Protected): Likewise.
+	* par-ch10.adb (P_Context_Clause): Replace call to
+	P_Qualified_Simple_Name by P_Library_Unit_Name.
+	(P_Subunit): Replace call to P_Qualified_Simple_Name by
+	P_Parent_Unit_Name.
+	* par-ch12.adb (P_Generic): Replace call to
+	P_Qualified_Simple_Name by P_Generic_Unit_Name.
+	(P_Formal_Derived_Type_Definition): Replace call to
+	P_Qualified_Simple_Name by P_Subtype_Name.
+	(P_Formal_Package_Declaration): Replace call to
+	P_Qualified_Simple_Name by P_Generic_Unit_Name.
+	* sem_ch4.adb: Add with and use clauses for Sem_Ch12.
+	(Analyze_Call): Accept implicit instantiations with -gnatX0.
+	(Analyze_Indexed_Component_Form): Likewise.
+	* sem_ch8.adb (Analyze_Use_Package): Add guard before inserting
+	a with clause automatically when there is a use clause.
+	(Check_In_Previous_With_Clause): Retrieve original names.
+	(Check_Library_Unit_Renaming): Deal with structural instances.
+	(End_Use_Type): Minor tweak.
+	* sem_ch10.adb (Analyze_With_Clause): Remove useless test and
+	call Defining_Entity_Of_Instance.
+	* sem_ch12.ads (Build_Structural_Instantiation): New function.
+	(Mark_Link_Once): New procedure.
+	* sem_ch12.adb: Add with and use clauses for Exp_Dbug.
+	(Analyze_Associations): Add support for structural instantiations.
+	(Analyze_Package_Instantiation): Likewise.
+	(Analyze_Subprogram_Instantiation): Likewise.
+	(Analyze_Structural_Associations): New procedure.
+	(Need_Subprogram_Instance_Body): Return True for instantiation is
+	in the auxiliary declarations of the main unit.
+	(Build_Structural_Instantiation): New function.
+	(Mark_Link_Once): New procedure.
+	* sem_util.ads (Add_Local_Declaration): New procedure.
+	(Defining_Entity_Of_Instance): New function.
+	* sem_util.adb (Add_Local_Declaration): New procedure.
+	(Defining_Entity_Of_Instance): New function.
+	* gnat_rm.texi: Regenerate.
+	* gnat_ugn.texi: Regenerate.
+
+2025-09-19  Ronan Desplanques  <desplanques@adacore.com>
+
+	* aspects.ads: Fix comment.
+
+2025-09-19  Ronan Desplanques  <desplanques@adacore.com>
+
+	* aspects.ads: Remove comment.
+
+2025-09-19  Marc Poulhiès  <poulhies@adacore.com>
+
+	* libgnat/s-putima.ads (Ext_Access_Pointer): New.
+	(Put_Image_Extended_Access_Pointer): New.
+	* libgnat/s-putima.adb (Ext_Acc_Instance): New.
+	(Put_Image_Extended_Access_Pointer): New.
+	* rtsfind.ads (RE_Id, RE_Unit_Table): Set value for
+	RE_Put_Image_Extended_Access_Pointer.
+	* exp_put_image.adb (Build_Elementary_Put_Image_Call): Handle extended
+	access.
+
+2025-09-19  Marc Poulhiès  <poulhies@adacore.com>
+
+	* fe.h (Is_Extended_Access_Type): Add C bindings.
+	* sem_util.ads (Is_Extended_Access_Type): Add comment that any
+	change to the function must take care of the C binding.
+
+2025-09-19  Marc Poulhiès  <poulhies@adacore.com>
+
+	* layout.adb (Layout_Type): Adjust comment and code extended
+	accesses.
+
+2025-09-19  Ronan Desplanques  <desplanques@adacore.com>
+
+	* sem_ch3.adb (Add_Tag): Remove superfluous statements.
+
+2025-09-19  Steve Baird  <baird@adacore.com>
+
+	* exp_attr.adb (Interunit_Ref_OK): Treat a subunit like a body.
+	(Build_And_Insert_Type_Attr_Subp): When climbing up the
+	tree, go from an N_Subunit node to its stub (instead of to the
+	subunit's N_Compilation_Unit node).
+
+2025-09-19  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_attr.adb (Eval_Attribute): In the case of a VADS-specific
+	size attribute, only fold to the object size when the Esize field
+	is known.
+
 2025-09-16  Ronan Desplanques  <desplanques@adacore.com>
 
 	* exp_strm.ads (Get_Primitives): New function.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e142d8158b6f..cb6b5a09dd6a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2025-09-19  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/83746
+	* trans-array.cc (structure_alloc_comps): Add the pre and post
+	blocks to 'fnblock' for all the evaluations of parameterized
+	expressions in PDT component allocatation.
+
 2025-09-18  Paul Thomas  <pault@gcc.gnu.org>
 
 	PR fortran/114815
diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog
index f63381dd620b..c13de980a90e 100644
--- a/gcc/m2/ChangeLog
+++ b/gcc/m2/ChangeLog
@@ -1,3 +1,338 @@
+2025-09-19  Gaius Mulley  <gaiusmod2@gmail.com>
+
+	PR modula2/121856
+	* Make-lang.in (GM2-LIBS-BOOT-DEFS): Add M2Diagnostic.def.
+	Add Selective.def.
+	(GM2-LIBS-BOOT-MODS): Add M2Diagnostic.mod.
+	(GM2-LIBS-BOOT-C): Add Selective.c.
+	(GM2-LIBS-DEFS): Add Selective.def.
+	(GM2-LIBS-MODS): Add M2Diagnostic.mod.
+	(MC-LIB-MODS): Add M2Diagnostic.mod.
+	(m2/gm2-libs-boot/Selective.o): New rule.
+	(BUILD-PGE-O): Add m2/pge-boot/GM2Diagnostic.o.
+	Add m2/pge-boot/GM2Diagnostic.o.
+	Add m2/pge-boot/GStringConvert.o.
+	Add m2/pge-boot/Gdtoa.o.
+	Add m2/pge-boot/Gldtoa.o.
+	* Make-maintainer.in (PPG-LIB-DEFS): Add M2Diagnostic.def.
+	Add StringConvert.def.
+	(PPG-LIB-MODS): Add M2Diagnostic.mod.
+	Add StringConvert.mod.
+	(PGE-DEF): Add M2Diagnostic.def.
+	(PGE-DEPS): Add GM2Diagnostic.cc.
+	Add GM2Diagnostic.h.
+	* gm2-compiler/FifoQueue.def (PutSetIntoFifoQueue): New
+	procedure.
+	(GetSetFromFifoQueue): New procedure function.
+	* gm2-compiler/FifoQueue.mod (PutSetIntoFifoQueue): New
+	procedure.
+	(GetSetFromFifoQueue): New procedure function.
+	* gm2-compiler/M2ALU.def (KillValue): New procedure.
+	(PushSetTree): Rename parameter t to value.
+	(ConstructSetConstant): Rewrite comment.
+	* gm2-compiler/M2ALU.mod: Rewrite to use the new set type
+	and introduce memory diagnostics.
+	* gm2-compiler/M2Base.mod (InitBaseProcedures): Lookup M2WIDESET.
+	* gm2-compiler/M2CaseList.mod (CheckCaseBoundsResolved): Change
+	format specifier to allow the preceeding indefinite article to
+	have a n concatenated providing the following string substitute
+	begins with a vowel.
+	(checkTypes): Ditto.
+	* gm2-compiler/M2Check.mod (checkGenericUnboundedTyped): New
+	procedure function.
+	* gm2-compiler/M2Code.mod (OptimizationAnalysis): Replace with ...
+	(ResourceAnalysis): ... this.
+	* gm2-compiler/M2Comp.mod (PopulateResource): New procedure.
+	(compile): Call PopulateResource.
+	Call M2Diagnostic.Generate.
+	* gm2-compiler/M2GCCDeclare.mod: Rewrite for new set type.
+	* gm2-compiler/M2GenGCC.mod: Rewrite implementation for
+	becomes, incl, excl, and, or, not, xor for the new set type.
+	* gm2-compiler/M2MetaError.def: Extend comment documenting
+	the v format specifier.
+	* gm2-compiler/M2MetaError.mod (errorBlock): New field vowel.
+	(initErrorBlock): Initialize field vowel.
+	Reformat comments.
+	(pop): Call checkVowel.
+	(checkVowel): New procedure.
+	(isVowel): New procedure function.
+	(symDesc): Remove indefinite article.
+	(op): Set vowel field in case clause.
+	* gm2-compiler/M2Options.def (OptimizeSets): New global.
+	(TimeReport): Ditto.
+	(MemReport): Ditto.
+	(SetMemReport): New procedure.
+	(SetTimeReport): Ditto.
+	(SetWideset): Ditto.
+	(GetWideset): New procedure function.
+	* gm2-compiler/M2Options.mod (SetOptimizing): Assign
+	OptimizeSets depending upon the optimization level.
+	(SetMemReport): New procedure.
+	(SetTimeReport): Ditto.
+	(SetWideset): Ditto.
+	(GetWideset): New procedure function.
+	(OptimizeSets): Initialize to FALSE.
+	(TimeReport): Ditto.
+	(MemReport): Ditto.
+	* gm2-compiler/M2Quads.mod (M2Diagnostic): Import.
+	(QuadsMemDiag): New global variable.
+	(NewQuad): Bump QuadsMemDiag whenever a quad is allocated.
+	(BuildAssignmentBoolean): New procedure.
+	(doBuildAssignment): Ditto.
+	Add v to the format specifier.
+	(CheckCompatibleWithBecomes): Add v to the format specifier.
+	(CheckProcTypeAndProcedure): Ditto.
+	(BuildAddAdrFunction): Ditto.
+	(BuildSubAdrFunction): Ditto.
+	(BuildDifAdrFunction): Ditto.
+	(BuildDesignatorArrayStaticDynamic): Ditto.
+	(BuildDesignatorPointer): Ditto.
+	(CheckVariableOrConstantOrProcedure): Ditto.
+	(Init): Initialize QuadsMemDiag.
+	* gm2-compiler/M2Range.mod (CodeTypeAssign): Add v to the
+	format specifier.
+	* gm2-compiler/M2Scaffold.mod (DeclareScaffoldFunctions):
+	Generate more precise warning note.
+	* gm2-compiler/M2SymInit.mod (PrintSymInit): Add record
+	field warning.
+	* gm2-compiler/M2System.mod
+	(IsPseudoSystemFunctionConstExpression): Add TBitSize.
+	* gm2-compiler/NameKey.mod: Add MemDiagnostic code
+	commented out.
+	* gm2-compiler/P1SymBuild.mod (StartBuildProcedure):
+	Add v format specifier.
+	* gm2-compiler/P2SymBuild.mod (BuildFieldRecord): Ditto.
+	* gm2-compiler/P3Build.bnf (SetType): Reformat.
+	* gm2-compiler/PathName.def (Copyright): Added.
+	* gm2-compiler/PathName.mod: Remove blank line.
+	* gm2-compiler/SymbolConversion.mod (gdbhook): New procedure.
+	(BreakWhenSymBooked): Ditto.
+	(CheckBook): Ditto.
+	(Init): Rewrite.
+	* gm2-compiler/SymbolTable.def (GetSetArray): New procedure.
+	(PutSetArray): Ditto.
+	(MakeSetArray): New procedure function.
+	(PutSetInWord): New procedure.
+	(GetSetInWord): New procedure function.
+	(IsConstVar): Ditto.
+	* gm2-compiler/SymbolTable.mod (SymSet): SetInWord new field.
+	SetArray new field.
+	Align new field.
+	(SymMemDiag): New global variable.
+	(Init): Initialize SymMemDiag.
+	(IsConstVar): New procedure function.
+	(IsVariableSSA): Replace InternalError with Return FALSE.
+	(GetNthParamOrdered): Reimplement.
+	(GetNthParamAnyClosest): Ditto.
+	(GetOuterModuleScope): Ditto.
+	(MakeSet): Ditto.
+	(PutSetArray): New procedure.
+	(GetSetArray): New procedure function.
+	(MakeSetArray): Ditto.
+	(PutSetInWord): New procedure.
+	(GetSetInWord): New procedure function.
+	* gm2-gcc/init.cc (_M2_M2Diagnostic_init): Define
+	prototype.
+	(init_FrontEndInit):Call _M2_M2Diagnostic_init.
+	* gm2-gcc/m2block.cc (m2block_GetTotalConstants): New function.
+	(m2block_GetGlobalTypes): Ditto.
+	* gm2-gcc/m2block.def (GetTotalConstants): New procedure function.
+	(GetGlobalTypes): New procedure function.
+	* gm2-gcc/m2block.h (m2block_GetTotalConstants): New function
+	prototype.
+	(m2block_GetGlobalTypes): Ditto.
+	* gm2-gcc/m2convert.cc (converting_ISO_generic): Reimplement.
+	(m2convert_ToPIMByte): New function.
+	* gm2-gcc/m2convert.def (ToLoc): New procedure function.
+	(ToPIMByte): Ditto.
+	* gm2-gcc/m2convert.h (m2convert_ToPIMByte): Ditto.
+	* gm2-gcc/m2decl.h (m2decl_RememberVariables): Ditto.
+	* gm2-gcc/m2expr.cc (m2expr_BuildLogicalShift): Reimplement.
+	(m2expr_BuildLRotate): Ditto.
+	(m2expr_BuildLRLn): Ditto.
+	(m2expr_BuildLRRn): Ditto.
+	(m2expr_BuildLogicalRotate): Ditto.
+	(buildUnboundedArrayOf): Ditto.
+	(BuildIfBitInSetLower): New function.
+	(m2expr_BuildBinarySetDo): Reimplement.
+	(m2expr_BuildIfInSet): Ditto.
+	(m2expr_BuildIfNotInSet): New function.
+	(m2expr_Build4LogicalOr): Reimplement.
+	(m2expr_BuildSetNegate): Ditto.
+	(m2expr_BuildLogicalOrAddress): Ditto.
+	(m2expr_BuildLogicalOr): Ditto.
+	(m2expr_BuildLogicalAnd): Ditto.
+	(m2expr_BuildSymmetricDifference): Ditto.
+	(m2expr_BuildLogicalDifference): Ditto.
+	(boolean_enum_to_unsigned): Ditto.
+	(m2expr_BuildIsSuperset): Ditto.
+	(m2expr_BuildIsNotSuperset): Ditto.
+	(m2expr_BuildIsSubset): Ditto.
+	(m2expr_BuildIfBitInSetJump): Ditto.
+	(m2expr_BuildIfNotConstInVar): Ditto.
+	(m2expr_BuildIfVarInVar): Ditto.
+	(m2expr_BuildIfNotVarInVar): Remove.
+	(m2expr_BuildIfConstInVar): Remove.
+	(m2expr_BuildForeachWordInSetDoIfExpr): Ditto.
+	(m2expr_BuildBinaryForeachWordDo): Ditto.
+	(m2expr_BuildIfInRangeGoto): Reimplement.
+	(m2expr_BuildIfNotInRangeGoto): Ditto.
+	(m2expr_SetAndNarrow): Ditto.
+	(m2expr_GetBitsetZero): New function.
+	(m2expr_GetRValue): Ditto.
+	* gm2-gcc/m2expr.def (GetBitsetZero): New function.
+	(BuildSetNegate): Ditto.
+	(BuildLogicalOr): Reimplement.
+	(BuildLogicalAnd): Ditto.
+	(BuildSymmetricDifference): Ditto.
+	(BuildLogicalDifference): Ditto.
+	(BuildIfInSet): New procedure function.
+	(BuildIfNotInSet): Ditto.
+	(BuildEqualTo): Reimplement.
+	(BuildNotEqualTo): Ditto.
+	(BuildBinaryForeachWordDo): Remove.
+	(BuildBinarySetDo): Ditto.
+	(GetRValue): New procedure function.
+	* gm2-gcc/m2expr.h (m2expr_BuildBinaryForeachWordDo): Remove.
+	(m2expr_BuildForeachWordInSetDoIfExpr): Ditto.
+	(m2expr_BuildIfNotVarInVar): Ditto.
+	(m2expr_BuildIfVarInVar): Ditto.
+	(m2expr_BuildIfNotConstInVar): Ditto.
+	(m2expr_BuildIfConstInVar): Ditto.
+	(m2expr_BuildLogicalDifference): Reimplement.
+	(m2expr_BuildSymmetricDifference): Ditto.
+	(m2expr_BuildLogicalAnd): Ditto.
+	(m2expr_BuildLogicalOr): Ditto.
+	(m2expr_BuildLogicalOrAddress): Ditto.
+	(m2expr_BuildSetNegate): Ditto.
+	(m2expr_GetBitsetZero): New function.
+	(m2expr_GetRValue): Ditto.
+	(m2expr_BuildIfInSet): Ditto.
+	(m2expr_BuildIfNotInSet): Ditto.
+	* gm2-gcc/m2options.h (M2Options_SetTimeReport): New function.
+	(M2Options_SetMemReport): Ditto.
+	(M2Options_SetWideset): Ditto.
+	(M2Options_GetWideset): Ditto.
+	* gm2-gcc/m2pp.cc (m2pp_shiftrotate_expr): New function.
+	(m2pp_simple_expression): Ditto.
+	* gm2-gcc/m2statement.cc (m2statement_BuildStartFunctionCode):
+	Tidyup comments.
+	(m2statement_BuildEndFunctionCode): Ditto.
+	(m2statement_BuildPushFunctionContext): Ditto.
+	(copy_array): Ditto.
+	(CopyByField_Lower): Ditto.
+	(m2statement_BuildGoto): Ditto.
+	(m2statement_DeclareLabel): Ditto.
+	(m2statement_BuildParam): Ditto.
+	(nCount): Ditto.
+	(m2statement_BuildProcedureCallTree): Ditto.
+	(m2statement_BuildBuiltinCallTree): Ditto.
+	(m2statement_BuildFunctValue): Ditto.
+	(m2statement_BuildCall2): Ditto.
+	(m2statement_BuildCall3): Ditto.
+	(m2statement_BuildFunctionCallTree): Ditto.
+	(m2statement_SetLastFunction): Ditto.
+	(m2statement_SetParamList): Ditto.
+	(m2statement_GetLastFunction): Ditto.
+	(m2statement_GetParamList): Ditto.
+	(m2statement_GetCurrentFunction): Ditto.
+	(m2statement_GetParamTree): Ditto.
+	(m2statement_BuildTryFinally): Ditto.
+	(m2statement_BuildCleanUp): Ditto.
+	(m2statement_BuildUnaryForeachWordDo): Remove.
+	(m2statement_BuildExcludeVarConst): Ditto.
+	(m2statement_BuildExcludeVarVar): Ditto.
+	(m2statement_BuildIncludeVarConst): Ditto.
+	(m2statement_BuildIncludeVarVar): Ditto.
+	(m2statement_DoJump): Remove.
+	(m2statement_IfExprJump): New function.
+	(m2statement_IfBitInSetJump): Ditto.
+	* gm2-gcc/m2statement.def (DoJump): Remove.
+	(IfExprJump): New procedure function.
+	(BuildUnaryForeachWordDo): Remove.
+	(IfBitInSetJump): New procedure function.
+	* gm2-gcc/m2statement.h (m2statement_BuildForeachWordDo): Remove.
+	(m2statement_DoJump): Ditto.
+	(m2statement_IfExprJump): New function.
+	(m2statement_IfBitInSetJump): Ditto.
+	* gm2-gcc/m2treelib.cc (m2treelib_do_jump_if_bit): Reimplement.
+	(nCount): Replace with ...
+	(m2treelib_nCount): ... this.
+	(m2treelib_DoCall): Reimplement.
+	(m2treelib_get_rvalue): Remove.
+	* gm2-gcc/m2treelib.def (get_rvalue): Remove.
+	(nCount): New procedure function.
+	* gm2-gcc/m2treelib.h (m2treelib_get_rvalue): Remove.
+	(m2treelib_nCount): New function.
+	* gm2-gcc/m2type.cc (constructor_elements): Change type to vec.
+	(m2type_BuildEndArrayType): Reformat.
+	(build_m2_type_node_by_array): Ditto.
+	(m2type_GetBooleanEnumList): New procedure function.
+	(m2type_BuildEnumerator): Add const to char *.
+	(m2type_BuildSetConstructorElement): Reimplement.
+	(m2type_BuildEndSetConstructor): Ditto.
+	(build_record_constructor): New function.
+	(m2type_BuildEndRecordConstructor): Reimplement.
+	(m2type_BuildRecordConstructorElement): Ditto.
+	(m2type_BuildStartArrayConstructor): Reimplement.
+	(m2type_BuildEndArrayConstructor): Remove blank lines.
+	* gm2-gcc/m2type.def (BuildSetConstructorElement): Reimplement.
+	(BuildEndArrayType): Reformat.
+	(GetBooleanEnumList): New function.
+	* gm2-gcc/m2type.h (m2type_BuildEnumerator): Add const to char *.
+	(m2type_BuildSetConstructorElement): Reimplement.
+	(m2type_GetBooleanEnumList): New procedure function.
+	* gm2-lang.cc (OPT_fmem_report): New option.
+	(OPT_ftime_report): Ditto.
+	(OPT_fwideset): Ditto.
+	* gm2-libs-coroutines/SYSTEM.def (ShiftVal): Remove.
+	(ShiftLeft): Ditto.
+	(ShiftRight): Ditto.
+	(RotateVal): Ditto.
+	(RotateLeft): Ditto.
+	(RotateRight): Ditto.
+	* gm2-libs-coroutines/SYSTEM.mod: Reimplement.
+	* gm2-libs-iso/SYSTEM.def (ShiftVal): Remove.
+	(ShiftLeft): Ditto.
+	(ShiftRight): Ditto.
+	(RotateVal): Ditto.
+	(RotateLeft): Ditto.
+	(RotateRight): Ditto.
+	* gm2-libs-iso/SYSTEM.mod: Reimplement.
+	* gm2-libs/SYSTEM.def (ShiftVal): Remove.
+	(ShiftLeft): Ditto.
+	(ShiftRight): Ditto.
+	(RotateVal): Ditto.
+	(RotateLeft): Ditto.
+	(RotateRight): Ditto.
+	* gm2-libs/SYSTEM.mod: Reimplement.
+	* gm2-libs/SysStorage.def (DEALLOCATE): Improve comment.
+	* gm2-libs/SysStorage.mod: Improve comment.
+	* init/ppginit (M2Diagnostic): Add.
+	(StringConvert): Add.
+	* lang.opt (fmem-report): Add access to c.opt.
+	(ftime-report): Ditto.
+	(fwideset): New option.
+	* pge-boot/main.cc (_M2_M2Diagnostic_init): New function.
+	(_M2_M2Diagnostic_fini): Ditto.
+	(_M2_StringConvert_init): Ditto.
+	(_M2_StringConvert_fini): Ditto.
+	(main): Call _M2_M2Diagnostic_init.
+	Call _M2_StringConvert_init.
+	Call _M2_M2Diagnostic_fini.
+	Call _M2_StringConvert_fini.
+	* tools-src/makeSystem: Add -gdb option.
+	* gm2-libs/M2Diagnostic.def: New file.
+	* gm2-libs/M2Diagnostic.mod: New file.
+	* gm2-libs/M2WIDESET.def: New file.
+	* gm2-libs/M2WIDESET.mod: New file.
+	* mc-boot/GM2Diagnostic.cc: New file.
+	* mc-boot/GM2Diagnostic.h: New file.
+	* pge-boot/GM2Diagnostic.cc: New file.
+	* pge-boot/GM2Diagnostic.h: New file.
+	* pge-boot/GSelective.h: New file.
+	* pge-boot/GStringConvert.cc: New file.
+
 2025-08-29  Gaius Mulley  <gaiusmod2@gmail.com>
 
 	PR modula2/121709
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7e1e193faee3..26d06f92670e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,74 @@
+2025-09-19  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/83746
+	* gfortran.dg/pdt_48.f03: New test.
+
+2025-09-19  Gaius Mulley  <gaiusmod2@gmail.com>
+
+	* gm2/errors/fail/testbit2.mod: Rewrite.
+	* gm2/iso/run/pass/shift4.mod: Rewrite adding more internal
+	tests.
+	* gm2/iso/run/pass/testsystem.mod (FindFirstElement): Add
+	bounds check.
+	* gm2/sets/run/pass/multisetrotate4.mod: Add more runtime
+	error messages.
+	* gm2/sets/run/pass/simplepacked.mod (testpset): Correct
+	setname.
+	* lib/gm2.exp (gm2_init_minx): Add -fno-wideset.
+	* gm2/iso/run/pass/assigncons.mod: New test.
+	* gm2/iso/run/pass/constructor3.mod: New test.
+	* gm2/iso/run/pass/proc_test.mod: New test.
+	* gm2/iso/run/pass/simplelarge2.mod: New test.
+	* gm2/iso/run/pass/simplelarge3.mod: New test.
+	* gm2/iso/run/pass/simplelarge4.mod: New test.
+	* gm2/pimlib/wideset/run/pass/bitset.mod: New test.
+	* gm2/pimlib/wideset/run/pass/bitset2.mod: New test.
+	* gm2/pimlib/wideset/run/pass/colorset.mod: New test.
+	* gm2/pimlib/wideset/run/pass/colorset2.mod: New test.
+	* gm2/pimlib/wideset/run/pass/colorset3.mod: New test.
+	* gm2/pimlib/wideset/run/pass/highbit.mod: New test.
+	* gm2/pimlib/wideset/run/pass/highbit2.mod: New test.
+	* gm2/sets/run/pass/multisetrotate5.mod: New test.
+	* gm2/sets/run/pass/setcard.mod: New test.
+	* gm2/sets/run/pass/setincl.mod: New test.
+
+2025-09-19  Jeff Law  <jlaw@ventanamicro.com>
+
+	PR target/121983
+	* gcc.target/riscv/pr121983.c: New test.
+
+2025-09-19  Raphael Moreira Zinsly  <rzinsly@ventanamicro.com>
+
+	* gcc.target/riscv/rvv/autovec/shuffle-slide-run.h:
+	New test.
+	* gcc.target/riscv/rvv/autovec/shuffle-slidedown-run.c:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/shuffle-slideup-run.c:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.h:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slidedown-1.c:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slidedown-2.c:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slidedown-perm.h:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slideup-1.c:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slideup-2.c:
+	Likewise.
+	* gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slideup-perm.h:
+	Likewise.
+
+2025-09-19  Jim Lin  <jim@andestech.com>
+
+	* gcc.target/riscv/save-restore-cfi-3.c: New test.
+	* gcc.target/riscv/pr120811.c: New file.
+
+2025-09-19  Jeff Law  <jlaw@ventanamicro.com>
+
+	* gcc.target/riscv/bclr-lowest-set-bit-1.c: New test.
+
 2025-09-18  Joseph Myers  <josmyers@redhat.com>
 
 	* gcc.dg/c2y-anon-init-1.c, gcc.dg/c2y-incomplete-2.c:
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 23f32f1a1e25..5b6dbf57a141 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2025-09-19  Jim Lin  <jim@andestech.com>
+
+	* config/riscv/save-restore.S: Only save/restore the registers
+	which are really used for ILP32E/LP64.
+
 2025-08-21  Dimitar Dimitrov  <dimitar@dinux.eu>
 
 	* config/pru/libgcc-eabi.ver: Add __pruabi_softmpyi and
diff --git a/libgm2/ChangeLog b/libgm2/ChangeLog
index c068292c09e8..a7d26c880904 100644
--- a/libgm2/ChangeLog
+++ b/libgm2/ChangeLog
@@ -1,3 +1,11 @@
+2025-09-19  Gaius Mulley  <gaiusmod2@gmail.com>
+
+	* libm2pim/Makefile.am (M2MODS): Add M2Diagnostic.mod.
+	Add M2WIDESET.mod.
+	(M2DEFS): Add M2Diagnostic.def.
+	Add M2WIDESET.def.
+	* libm2pim/Makefile.in: Regenerate.
+
 2025-07-23  Gaius Mulley  <gaiusmod2@gmail.com>
 
 	PR modula2/121164
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9f4a2d241eee..5c7193a240bb 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,33 @@
+2025-09-19  Nathan Myers  <ncm@cantrip.org>
+
+	PR libstdc++/119744
+	* include/bits/version.def: Redefine __cpp_lib_bind_front etc.
+	* include/bits/version.h: Ditto.
+	* include/std/functional: Add new bind_front etc. overloads
+	* testsuite/20_util/function_objects/bind_back/1.cc:
+	Check plumbing better
+	* testsuite/20_util/function_objects/bind_back/nttp.cc: New test.
+	* testsuite/20_util/function_objects/bind_back/nttp_neg.cc: New test.
+	* testsuite/20_util/function_objects/bind_front/1.cc:
+	Check plumbing better
+	* testsuite/20_util/function_objects/bind_front/nttp.cc: New test.
+	* testsuite/20_util/function_objects/bind_front/nttp_neg.cc: New test.
+	* testsuite/20_util/function_objects/not_fn/nttp.cc: New test.
+	* testsuite/20_util/function_objects/not_fn/nttp_neg.cc: New test.
+	* testsuite/20_util/headers/functional/synopsis.cc: New decls.
+
+2025-09-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/chrono_io.h: Remove unused <iomanip> header.
+	(operator<<): Constrain overload for chrono::local_time.
+	* testsuite/std/time/clock/local/io.cc: Check constraints.
+
+2025-09-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/version.def (start_lifetime_as): Move adjacent to
+	other C++23 macros.
+	* include/bits/version.h: Regenerate.
+
 2025-09-18  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c++/106658


More information about the Libstdc++-cvs mailing list