]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 20 Sep 2025 00:20:23 +0000 (00:20 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 20 Sep 2025 00:20:23 +0000 (00:20 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/fortran/ChangeLog
gcc/m2/ChangeLog
gcc/testsuite/ChangeLog
libgcc/ChangeLog
libgm2/ChangeLog
libstdc++-v3/ChangeLog

index 2dcca83ff42a125df750e2652c370b659c7b49ff..fe02fbfd02d063f0ca207d80b106b5e9506b1cde 100644 (file)
@@ -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.
index f340dc5a333bb2b2b7ee64e5413ce467b6b63a6c..2ca53ee45db740b90440b8a5593e91d0aa423640 100644 (file)
@@ -1 +1 @@
-20250919
+20250920
index 379816ed6be356a74ccaa5dbb4b89aac9a7a0696..084349c3886ab8aa2980d59253d38aa05fc547ea 100644 (file)
@@ -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.
index e142d8158b6f290685dcdd6183b44e4d13bc4650..cb6b5a09dd6afb0e25882e2e97cfdc9a13cb128c 100644 (file)
@@ -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
index f63381dd620b8a45871ebf164ffc0af474806877..c13de980a90ec961464bd487d93d6f8e3d727cfc 100644 (file)
@@ -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
index 7e1e193faee30ccae455034a7adb99682f886c53..26d06f92670eb652de393c19223b544175d79ac4 100644 (file)
@@ -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:
index 23f32f1a1e2589778313aad7a7250d50030cf183..5b6dbf57a141b0c86fa26d3132024c3b175c2705 100644 (file)
@@ -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
index c068292c09e8ab419683418d3217f0a3328d4c42..a7d26c880904e9b9584e43972ec1f395de01eb16 100644 (file)
@@ -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
index 9f4a2d241eee3848885b2a2e40d3fb2133e149a1..5c7193a240bb061e01eb077302d0ad77e8882318 100644 (file)
@@ -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