https://gcc.gnu.org/g:b679fda6b4f2d41323e19f780b52805e7a06bfcc
commit r17-4589-gb679fda6b4f2d41323e19f780b52805e7a06bfcc Author: GCC Administrator <[email protected]> Date: Wed Sep 23 00:16:39 2026 +0000 Daily bump. Diff: --- gcc/ChangeLog | 141 ++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 285 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/algol68/ChangeLog | 5 + gcc/c-family/ChangeLog | 4 + gcc/c/ChangeLog | 9 ++ gcc/cobol/ChangeLog | 5 + gcc/cp/ChangeLog | 16 +++ gcc/fortran/ChangeLog | 10 ++ gcc/m2/ChangeLog | 22 ++++ gcc/testsuite/ChangeLog | 103 +++++++++++++++++ libgcobol/ChangeLog | 10 ++ libgomp/ChangeLog | 8 ++ libstdc++-v3/ChangeLog | 84 ++++++++++++++ 14 files changed, 703 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e257e7d5dd3c..db41308b8d72 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,144 @@ +2026-09-22 Chung-Lin Tang <[email protected]> + + * omp-offload.cc (omp_discover_implicit_declare_target): + For self_maps/unified_shared_memory case, adjust to not convert + 'omp declare target local' variables to 'link'. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_LOCAL. + * tree.cc (omp_clause_num_ops): Add entry for OMP_CLAUSE_LOCAL. + (omp_clause_code_name): Likewise. + * varpool.cc (varpool_node::get_create): Do not add variable to + offload_vars if "local" argument is present in "omp declare target". + +2026-09-22 Vladimir N. Makarov <[email protected]> + + PR rtl-optimization/127326 + * lra-constraints.cc (process_alt_operands): Ignore register if + constraint describes memory and register which can not hold the + mode value. + +2026-09-22 Roger Sayle <[email protected]> + Hongtao Liu <[email protected]> + + PR target/114544 + * config/i386/constraints.md (YD): New constraint, like Yd but + allows SSE_REGS on TARGET_SSE2. + * config/i386/i386.cc (inline_secondary_memory_needed): Update + that TImode moves to GENERAL_REGS don't need to use memory. + * config/i386/i386.md (*movti_internal): Change Yd constraint to YD. + (define_split): On TARGET_64BIT && TARGET_SSE2 && !TARGET_SSE4_1, + split *movti_internal into movq+shufpd+movq+shufpd. + +2026-09-22 Richard Earnshaw <[email protected]> + + PR target/127393 + * config/aarch64/predicates.md (pure_register_operand): New predicate. + * config/aarch64/aarch64.md (negvti3): Use it. + +2026-09-22 Jakub Jelinek <[email protected]> + + PR middle-end/127492 + * builtins.cc (expand_builtin_atomic_fetch_op): Force val into a + pseudo if updates to mem could change its value. + (expand_ifn_atomic_bit_test_and): Likewise. + +2026-09-22 Richard Biener <[email protected]> + + * tree-vect-loop.cc (vectorizable_live_operation): Cost + the lane extract in vect_body for BB vectorization and + in vect_epilog for loop vectorization. + +2026-09-22 Richard Biener <[email protected]> + + * doc/invoke.texi (fwrapv-pointer): Add disclaimer. + (fno-strict-overflow): Discourage, suggest fwrapv. + +2026-09-22 Andrew Stubbs <[email protected]> + + * target.def (base_reg_class): New target hook. + * targhooks.h (default_base_reg_class): Declare. + * targhooks.cc (default_base_reg_class): New function, implementing + the previous BASE_REG_CLASS/MODE_BASE_REG_CLASS/ + MODE_BASE_REG_REG_CLASS/MODE_CODE_BASE_REG_CLASS macro fallback + chain as the hook's default. + * addresses.h (base_reg_class): Rewrite to call the + TARGET_BASE_REG_CLASS hook instead of dispatching through + INSN_BASE_REG_CLASS and the other macros by hand; add a MEM + parameter. + * rtl.h (address_info): Add mem field. + * rtlanal.cc (decompose_mem_address): Set it. + * lra-constraints.cc (simplify_operand_subreg, process_alt_operands, + base_to_reg, base_plus_disp_to_reg, process_address_1, + curr_insn_transform): Pass the enclosing MEM, and INSN where + previously omitted, to base_reg_class. + * reload.cc (find_reloads, find_reloads_address, + find_reloads_address_1, find_reloads_subreg_address): Likewise. + * reload1.cc (maybe_fix_stack_asms): Likewise. + * regcprop.cc: Include target.h. + (replace_oldest_value_addr, replace_oldest_value_mem): Pass MEM to + base_reg_class. + * regrename.cc (base_reg_class_for_rename): Add a MEM parameter. + (scan_rtx_address, scan_rtx): Pass it. + * caller-save.cc: Include target.h. + * config/i386/i386.h (INSN_BASE_REG_CLASS): Delete. + * config/i386/i386-protos.h (ix86_insn_base_reg_class): Delete + declaration. + * config/i386/i386.cc (ix86_insn_base_reg_class): Rename to... + (ix86_base_reg_class): ...this, adjust the signature, and implement + TARGET_BASE_REG_CLASS instead of INSN_BASE_REG_CLASS. + (TARGET_BASE_REG_CLASS): Define. + * doc/tm.texi.in: Add TARGET_BASE_REG_CLASS. Mark BASE_REG_CLASS, + MODE_BASE_REG_CLASS, MODE_BASE_REG_REG_CLASS and + MODE_CODE_BASE_REG_CLASS as obsolete in favor of the new hook, and + remove the now-unused INSN_BASE_REG_CLASS. + * doc/tm.texi: Regenerate. + +2026-09-22 Wilco Dijkstra <[email protected]> + + * config/aarch64/atomics.md (atomic_store<mode>): Use aarch64_reg_or_zero. + +2026-09-22 liuhongt <[email protected]> + + PR tree-optimization/126486 + * tree-affine.cc: Include vr-values.h. + (aff_combination_convert): Accept and propagate range context. + (expr_to_aff_combination): Likewise. Fold sign-changing conversions + and negative unsigned offsets. + (tree_to_aff_combination): Accept and propagate range context. + * tree-affine.h (aff_combination_convert): Update declaration. + (tree_to_aff_combination): Likewise. + * tree-ssa-loop-ivopts.cc: Include gimple-range.h. + (get_computation_aff_1): Pass the use statement. + (tree_ssa_iv_optimize): Enable ranger. + +2026-09-22 liuhongt <[email protected]> + + PR target/127500 + * config/i386/i386.cc (ix86_split_stlf_stall_load): Don't split + the load when the address adjusted by 8 is not a valid memory + address. + +2026-09-22 Naveen <[email protected]> + + PR tree-optimization/112626 + * match.pd: Fold comparisons between abs (x) and x including + unsigned conversions of both operands. + +2026-09-22 Pan Li <[email protected]> + + PR target/127269 + * config/riscv/riscv-v.cc (riscv_v_widen_constraint_ok): Return + false instead of assertion when the nregs of the dest is less + than that of the src. + +2026-09-22 Pan Li <[email protected]> + + * config/riscv/constraints.md (Wn4): New constraint for the + vector register which doesn't overlap the register group of + the operand 4. + * config/riscv/vector.md: Take the Wn4 constraint for the + operand 3 and the Wvr constraint for the operand 4 of the + vfwadd.wv. + 2026-09-21 Eric Botcazou <[email protected]> * config/riscv/riscv.cc (riscv_flatten_aggregate_field) <ARRAY_TYPE>: diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index e9b7161d4a77..086b6e065352 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260922 +20260923 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7696c45923e2..e9e22dd6b2ae 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,288 @@ +2026-09-22 Eric Botcazou <[email protected]> + + * accessibility.adb (Accessibility_Message): Adjust wording. + (Check_Return_Construct_Accessibility.Accessibility_Error): Ditto. + * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Likewise for + the specific error message given for subprograms. + * sem_ch3.adb (Analyze_Component_Declaration): Likewise for the + specific error message given for access components. + (Build_Derived_Record_Type): Add references to Ada 95 rules. + * sem_ch6.adb (Analyze_Function_Return): Adjust wording for the + error messages given for class-wide returns. + * sem_ch9.adb (Analyze_Requeue): Likewise for requeue statements. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Storage_Pool>: + Add reference to Ada 2012 accessibility rule. + * sem_res.adb (Resolve_Actuals.Check_Aliased_Parameter): Adjust + wording for the error messages for actuals of aliased parameters. + (Resolve_Allocator): Likewise for allocators. + (Valid_Conversion): Likewise for conversions. + (Valid_Array_Conversion): Add Opnd_Type parameter instead of using + an up-level reference. + +2026-09-22 Eric Botcazou <[email protected]> + + * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>: + Call Is_Reverse_Storage_Order_Object to detect cases where a copy + needs to be created for the prefix. + * sem_util.ads (In_Reverse_Storage_Order_Object): Delete. + (Is_Reverse_Storage_Order_Object): New predicate. + * sem_util.adb (In_Reverse_Storage_Order_Object): Delete. + (Is_Reverse_Storage_Order_Object): New predicate subsuming original + In_Reverse_Storage_Order_Object predicate. + +2026-09-22 Eric Botcazou <[email protected]> + + * sem_ch4.adb (Analyze_Membership_Op): Do not force an error to be + given if the right operand is a Raise_Error node. + +2026-09-22 Eric Botcazou <[email protected]> + + * accessibility.adb (Check_Return_Construct_Accessibility): Bail + out for the return synthesized in a function whose body has been + wrapped in a nested _Wrapped_Statements function. + +2026-09-22 Eric Botcazou <[email protected]> + + * exp_ch3.adb (Make_Predefined_Primitive_Eq_Spec): Fix pasto. + * sem_ch4.adb (wpo): Also accept untagged types. + * sem_ch6.adb (Make_Inequality_Operator): Also copy Is_Primitive. + (New_Overloaded_Entity): Create the implicit inequality operator + only for nonderived subprograms, but create it in the asymmetric + case even for tagged types. Deal with the inheritance of such an + implicit inequality operator. + * sem_disp.adb: Add clauses for Stand. + (Check_Dispatching_Operation): Bail out for inequality operators + whose result type is Boolean. + +2026-09-22 Eric Botcazou <[email protected]> + + * gen_il-gen-gen_entities.adb (Type_Kind): Set Base_Type_Only for + Is_Mutably_Tagged_Type flag. Move Class_Wide_Equivalent_Type to... + (Class_Wide_Kind): ...here. + * einfo.ads (Class_Wide_Equivalent_Type): Adjust description. + (Is_Controlled_Active): Likewise. + (Is_Controlled): Likewise. + (Is_Mutably_Tagged_Type): Likewise. + * exp_ch3.adb (Expand_N_Full_Type_Declaration): Use an assignment to + initialize an object of a mutably tagged type whose initial value is + not the result of a function call. + * exp_ch5.adb (Expand_N_Assignment_Statement): Do not dispatch to an + _assign primitive for an initialization even in the class-wide case. + For mutably tagged types, assign the tag unconditionally. + (Make_Tag_Ctrl_Assignment): Deal with mutably tagged types. + * exp_ch6.adb (Might_Have_Tasks): Invoke Has_Enabled_Aspect on the + root type for a class-wide type. + * exp_ch7.adb: Add clauses for Mutably_Tagged package. + (Make_Adjust_Call): Deal with mutably tagged types. + (Make_Final_Call): Likewise. + (Make_Init_Call): Likewise. + * exp_util.adb: Add clauses for Mutably_Tagged package. + (Finalize_Address): Deal with mutably tagged types. + (Make_CW_Equivalent_Type): Adjust comment. + * freeze.adb (Freeze_Record_Type): Invoke Needs_Finalization on the + type of the components to compute the Has_Controlled_Component flag. + * mutably_tagged.ads (Get_Corresponding_Tagged_Type_If_Present): + Adjust description. + * mutably_tagged.adb (Is_Mutably_Tagged_CW_Equivalent_Type): Test + Is_Mutably_Tagged_Type on the class-wide type of the parent subtype. + * sem_ch3.adb (Find_Type_Name): Do not set the Is_Internal flag on + the completion of an incomplete type. + (Record_Type_Definition): Invoke Needs_Finalization on the type of + the components to compute the Has_Controlled_Component flag. + * sem_ch12.adb (Validate_Private_Type_Instance): Test the + Is_Mutably_Tagged_Type flag instead of Class_Wide_Equivalent_Type. + (Instantiate_Type): Likewise. + * sem_util.adb (Needs_Finalization): Return False for a class-wide + type if the root type has the No_Controlled_Parts aspect, and return + True for a mutably tagged class-wide equivalent type unless the root + type has the No_Controlled_Parts aspect. + +2026-09-22 Eric Botcazou <[email protected]> + + * freeze.adb (Freeze_Full_Expression): Also freeze the stand-alone + objects of the current scope when they are referenced. + * sem_ch6.adb (Analyze_Expression_Function): Do not check the use + of a dynamically tagged expression if an error has been posted. + +2026-09-22 Eric Botcazou <[email protected]> + + * freeze.ads (Freeze_Entity): Move around. + (Freeze_Before): Rename T parameter to E. + (Freeze_Expression): Improve description. + (Freeze_Expr_Types_Before): Rename to... + (Freeze_Full_Expression_Before): ...this. + * freeze.adb (Freeze_Expr_Types): Rename to... + (Freeze_Full_Expression): ...this. + (Freeze_Before): Rename T parameter to E and Pack variable to Scop. + (Freeze_Entity): Adjust to above renaming. + (Freeze_Expression): Likewise. + (Freeze_Expr_Types_Before): Rename to... + (Freeze_Full_Expression_Before): ...this. + * contracts.adb (Analyze_Entry_Or_Subprogram_Contract): Adjust to + above renaming. + (Expand_Subprogram_Contract): Likewise. + * sem_ch6.adb (Analyze_Expression_Function): Likewise. + +2026-09-22 Eric Botcazou <[email protected]> + + * sinfo.ads (Selector_Name): Beef up description. + * sem_ch3.adb (Contains_Lib_Incomplete_Type): Delete. + (Analyze_Declarations): Remove obsolete code. + * sem_ch13.adb (Resolve_Aspect_Expressions.Resolve_Name): Resolve + only names that are not selector names. + +2026-09-22 Eric Botcazou <[email protected]> + + * exp_ch6.adb (Expand_Simple_Function_Return): Fix typo. + +2026-09-22 Eric Botcazou <[email protected]> + + * accessibility.ads (Needs_Accessibility_Level_Temp_Or_Check): + Delete. + * accessibility.adb: Add clauses for Sem_Eval. + (Accessibility_Level): Add support for conditional expressions. + (Needs_Accessibility_Level_Temp_Or_Check): Delete. + * exp_ch4.adb (Expand_N_If_Expression): Do not force expansion for + the sake of accessibility checks. + * exp_ch6.adb (Create_Extra_Actuals): Remove specific support of + extra accessibility formal for conditional expressions. + * sem_eval.ads (Match_Result): New enumeration type moved from... + (Choices_Match): New function declaration moved from... + (Set_Checking_Potentially_Static_Expression): Alphabetize. + * sem_eval.adb (Match_Result): ...here. + (Choices_Match): ...here. + (Eval_Case_Expression): Replace loop with call to Choices_Match. + +2026-09-22 Eric Botcazou <[email protected]> + + * exp_ch4.adb (Is_Copy_Type): New global predicate. + (Expand_N_Case_Expression.Is_Copy_Type): Delete. + (Expand_N_Expression_With_Actions.Is_Copy_Type): Likewise. + (Expand_N_If_Expression.Is_Copy_Type): Likewise. + * layout.adb (Layout_Type): Compute the size(s) of a 1-dimensional + array type in more cases. + * sem_attr.adb (Analyze_Access_Attribute): Add guard. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause) + <Component_Size>: Reset the size(s) if the clause is not confirming. + * sem_eval.adb (Compile_Time_Known_Bounds): Bail out if an error has + been posted on the range node. + * sem_res.adb (Valid_Conversion): Return early on N_Raise_xxx_Error. + +2026-09-22 Eric Botcazou <[email protected]> + + * gen_il-fields.ads (Opt_Field_Enum): Remove Minimum_Accessibility + and add Extra_Accessibility_Of_Subprogram. + * gen_il-gen-gen_entities.adb (Formal_Kind): Likewise. + (Subprogram_Kind): Likewise. + * einfo.ads (Extra_Accessibility_Of_Subprogram): Add description. + (Minimum_Accessibility): Remove description. + * accessibility.ads (Accessibility_Level_Kind): Move to... + (Accessibility_Level): Move to... + (Dynamic_Accessibility_Level): New function declaration. + (Dynamic_Local_Access_Level): Likewise. + (Dynamic_Subprogram_Access_Level): Likewise. + (Get_Dynamic_Accessibility): Delete. + (Static_Accessibility_Level_Kind): Likewise. + (Deepest_Type_Access_Level): Likewise. + (Static_Accessibility_Level): Replace second formal parameter. + (Static_Local_Access_Level): New function declaration. + (Static_Type_Access_Level): Likewise. + (Subprogram_Access_Level): Delete. + (Type_Access_Level): Move to... + * accessibility.adb (Accessibility_Level_Kind): ...here. + (Accessibility_Level): ...here. + (Type_Access_Level): ...here. + (Offset_Static_Level): New function declaration. + (Accessibility_Level): Add Static formal parameter and change the + result type. Change the result type of most nested functions and + ultimately call Offset_Static_Level if Static is set to False. + (Apply_Accessibility_Check_For_Class_Wide_Allocator): Use explicit + static or dynamic variant of level computation functions. + (Apply_Accessibility_Check_For_Anonymous_Return): Likewise. + (Apply_Accessibility_Check_For_Class_Wide_Return): Likewise. + (Apply_Accessibility_Check_For_Discriminated_Allocator): Likewise. + (Apply_Accessibility_Check_For_Conversion): Likewise. + (Check_Return_Construct_Accessibility): Likewise. + (Apply_Accessibility_Check_For_Return): Fix typo in comment. + (Dynamic_Accessibility_Level): New function body. + (Dynamic_Local_Access_Level): Likewise. + (Dynamic_Subprogram_Access_Level): Likewise. + (Dynamic_Type_Access_Level): Likewise. + (Get_Dynamic_Accessibility): Delete. + (Offset_Static_Level): New function body. + (Static_Accessibility_Level): Adjust. + (Static_Local_Access_Level): New function body. + (Static_Subprogram_Access_Level): Likewise. + (Static_Type_Access_Level): Likewise. + (Deepest_Type_Access_Level): Merge implementation into... + (Type_Access_Level): ...this. Add Deepest formal parameter and + change the result type. Compute a base entity and an offset. + * contracts.adb (Build_Subprogram_Contract_Wrapper): Do not move the + declaration of the Extra_Accessibility_Of_Subprogram constant. + * exp_aggr.adb: Add clauses for Accessibility. + (In_Place_Assign_OK): Call Static_Local_Access_Level instead of + doing the level calculation manually. + * exp_attr.adb (Expand_N_Attribute_Reference.Write_Controlling_Tag): + Call appropriate accessibility level calculation routine. + * exp_ch3.adb (Build_Initialization_Call): Likewise. + (Expand_N_Object_Declaration): Likewise. + (Freeze_Type): Likewise. + (Build_Record_Init_Proc): Do not create an extra accessibility + parameter for Activation_Chain and Finalization_Master. + * exp_ch4.adb (Expand_N_In): Call appropriate acccessibility level + calculation routine. + * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise. + * exp_ch6.adb (Expand_Actuals): Likewise. + (Create_Extra_Actuals): Likewise. + * exp_ch9.adb (Expand_N_Requeue_Statement): Likewise and add missing + exception per RM 9.5.4(7.2). + * exp_disp.adb (Make_DT): Likewise. + * sem_attr.adb (Resolve_Attribute): Likewise. + * sem_ch3.adb (Analyze_Component_Declaration): Likewise. + (Build_Derived_Record_Type): Likewise. + (Derived_Type_Declaration): Likewise. + * sem_ch9.adb (Analyze_Requeue): Likewise and remove duplicate code. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise. + * sem_res.ads (Resolve_Entry): Remove obsolete comment. + * sem_res.adb (Resolve_Actuals): Likewise. + (Resolve_Allocator): Likewise. + (Valid_Conversion): Likewise. + (Resolve_Entry): Set Analyzed on the entry name before rewriting it. + * sem_util.adb (Check_Unprotected_Access): Likewise. + * sem_ch6.adb (Analyze_Function_Return): Likewise. + (Analyze_Subprogram_Body_Helper): Compute the extra accessibility + of the subprogram instead of minimum accessibility of parameters. + (Create_Extra_Formals): Create an extra accessibility formal for + an access-to-subprogram parameter if the profile of the designated + type has at least one parameter that needs one. + +2026-09-22 Eric Botcazou <[email protected]> + + * exp_ch3.adb (Expand_Freeze_Record_Type): Move up early return for + types derived from an untagged private type. + +2026-09-22 Andrew Teylu <[email protected]> + + * libgnat/s-dwalin.ads (Dwarf_Context): Add Has_Line_Str. + * libgnat/s-dwalin.adb (Open): Set Has_Line_Str when creating the + line-string stream. + (Close): Close the line-string stream if it was created. + +2026-09-22 Viljar Indus <[email protected]> + + * gcc-interface/trans.cc (can_equal_min_Or_max_val_p): Add guard + for integral types. + +2026-09-22 Eric Botcazou <[email protected]> + + * gcc-interface/decl.cc (allocatable_size_p): Add INTERFACE_P + parameter and return true for any fixed size when it is true. + (gnat_to_gnu_entity): Add EXPORTED_P local variable and use it + throughout. + <E_Variable>: Adjust calls to allocatable_size_p by passing true + for INTERFACE_P if the object is exported or imported. Remove + unreachable code giving a warning for too large imported objects. + 2026-09-21 Eric Botcazou <[email protected]> * gcc-interface/misc.cc (gnat_get_array_descr_info): Return the diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog index 653e012620a2..0d55cccaaa28 100644 --- a/gcc/algol68/ChangeLog +++ b/gcc/algol68/ChangeLog @@ -1,3 +1,8 @@ +2026-09-22 Jose E. Marchesi <[email protected]> + + * a68-low.cc (lower_module_text): Mark prelude_decl an + postlude_decl as artificial. + 2026-09-21 Jose E. Marchesi <[email protected]> * a68-parser-modes.cc (a68_resolve_equivalent): Rename from diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 9f39aef89187..4d330ce5476b 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,7 @@ +2026-09-22 Chung-Lin Tang <[email protected]> + + * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_LOCAL. + 2026-09-18 Alfie Richards <[email protected]> * c-attribs.cc (handle_mode_attribute): Use parse_machine_mode. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index a06e4f0653e4..0eeb1c865b97 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,12 @@ +2026-09-22 Chung-Lin Tang <[email protected]> + + * c-parser.cc (c_parser_omp_clause_name): Add "local" case. + (c_parser_omp_all_clauses): Add PRAGMA_OMP_CLAUSE_LOCAL case. + (OMP_DECLARE_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_LOCAL. + ( c_parser_omp_declare_target): Handle OMP_CLAUSE_LOCAL. + * c-typeck.cc (c_finish_omp_clauses): Handle OMP_CLAUSE_LOCAL. + Emit error if local clause variable appears in map clause. + 2026-09-21 Jakub Jelinek <[email protected]> * c-decl.cc (names_builtin_p): Return 1 for diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog index 1aac95e28884..4eca8f3da1f2 100644 --- a/gcc/cobol/ChangeLog +++ b/gcc/cobol/ChangeLog @@ -1,3 +1,8 @@ +2026-09-22 James K. Lowden <[email protected]> + + * parse_ante.h (update_prior_invalid_field): Use is_figconst. + (field_add): Always call update_prior_invalid_field. + 2026-09-21 Robert Dubner <[email protected]> * genapi.cc (actually_create_the_static_field): Use the diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6688d9e4a28e..6c9b49c2b6f2 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,19 @@ +2026-09-22 Chung-Lin Tang <[email protected]> + + * parser.cc (cp_parser_omp_clause_name): Add "local" case. + (cp_parser_omp_all_clauses): Add PRAGMA_OMP_CLAUSE_LOCAL case. + (handle_omp_declare_target_clause): Handle OMP_CLAUSE_LOCAL. + (OMP_DECLARE_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_LOCAL. + * semantics.cc (finish_omp_clauses): Handle OMP_CLAUSE_LOCAL. + Emit error if local clause variable appears in map clause. + +2026-09-22 Joshua Berne <[email protected]> + + PR c++/125459 + * constexpr.cc (constexpr_global_ctx::put_value): Treat + void_list_node as not having been in the map for modifiable + tracking. + 2026-09-21 Jakub Jelinek <[email protected]> PR c++/127493 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 45013116f338..9973d1051e3d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,13 @@ +2026-09-22 Chung-Lin Tang <[email protected]> + + * openmp.cc (gfc_match_omp_declare_target): Adjust error handling + to handle local clause. + * trans-common.cc (build_common_decl): Adjust handling of device_type + clause, remove sorry and FIXME of LOCAL clause, handle local clause. + * trans-decl.cc (add_attributes_to_decl): Adjust handling of device_type + clause, remove sorry of LOCAL clause, adjust creating of + "omp declare target [link]" attribute between OpenACC/OpenMP. + 2026-09-21 Mikael Morin <[email protected]> PR fortran/127448 diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index 19b3f92dcfdb..2701442355ea 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,25 @@ +2026-09-22 Gaius Mulley <[email protected]> + + PR modula2/127554 + * gm2-compiler/M2MetaError.mod (SpellHint): Allow error symbols to + be spell checked. + * gm2-compiler/M2Quads.mod (BuildConstructor): Generate a spelling + hint error message if the name is set and an error is seen. + (PopTntok): New procedure. + * gm2-compiler/PCBuild.bnf (CreateQualident): New procedure. + (PushQualident): Reimplement. + * gm2-compiler/PCSymBuild.mod (PCStartBuildDefModule): Push + module to spelling stack. + (PCStartBuildImpModule): Ditto. + (PCStartBuildInnerModule): Ditto. + (PCEndBuildDefModule): Pop top of spell stack. + (PCEndBuildImpModule): Ditto. + (PCEndBuildProgModule): Ditto. + (PCEndBuildInnerModule): Ditto. + (PCEndBuildProcedure): Ditto. + (PCBuildProcedureHeading): Ditto. + (PCEndBuildForward): Reimplement. + 2026-09-21 Gaius Mulley <[email protected]> PR modula2/127469 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6d37df1278b4..7a2ecac1bd5c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,106 @@ +2026-09-22 Jose E. Marchesi <[email protected]> + + * algol68/compile/prepostlude-crash-1.a68: New test. + +2026-09-22 Chung-Lin Tang <[email protected]> + + * c-c++-common/gomp/declare-target-1.c: Add local clause test. + * c-c++-common/gomp/declare-target-8.c: New testcase. + * gfortran.dg/gomp/declare-target-1.f90: Add local clause test. + * gfortran.dg/gomp/declare-target-7.f90: New testcase. + * gfortran.dg/gomp/groupprivate-2.f90: Adjust test. + +2026-09-22 Xavier Del Campo Romero <[email protected]> + + * cobol.dg/group2/CBL_GET_PROGRAM_INFO__get_program_name_-_functions_0_and_2_.cob: + Update test to new behaviour. + * cobol.dg/group2/CBL_GET_PROGRAM_INFO__get_program_name_-_functions_0_and_2_.out: Likewise. + +2026-09-22 Eric Botcazou <[email protected]> + + * gnat.dg/access12.adb: Adjust error message. + * gnat.dg/aliased3.adb: Likewise. + +2026-09-22 Vladimir N. Makarov <[email protected]> + + PR rtl-optimization/127326 + * gcc.target/i386/pr127326.c: New. + +2026-09-22 Joshua Berne <[email protected]> + + PR c++/125459 + * g++.dg/contracts/cpp26/pr125459.C: New test. + +2026-09-22 Gaius Mulley <[email protected]> + + PR modula2/127554 + * gm2.dg/spell/iso/fail/constaggregate.mod: New test. + +2026-09-22 Roger Sayle <[email protected]> + Hongtao Liu <[email protected]> + + * gcc.target/i386/pr126293-15.c: Update test case. + * gcc.target/i386/pr126293-5.c: Likewise. + +2026-09-22 Jakub Jelinek <[email protected]> + + PR middle-end/127492 + * gcc.dg/pr127492.c: New test. + +2026-09-22 Wilco Dijkstra <[email protected]> + + * gcc.target/aarch64/atomic-store2.c: New test. + +2026-09-22 liuhongt <[email protected]> + + PR tree-optimization/126486 + * gcc.dg/tree-ssa/pr126486.c: New test. + * gcc.dg/tree-ssa/pr19210-1.c: Remove obsolete missed diagnostic. + * gcc.target/i386/kortest_ccz-1.c: Restrict no-kmov scan to non-ia32. + Assisted-by: openai.gpt-5.6-sol xhigh <[email protected]> + +2026-09-22 liuhongt <[email protected]> + + PR target/127500 + * gcc.target/i386/pr127500.c: New test. + +2026-09-22 Naveen <[email protected]> + + PR tree-optimization/112626 + PR tree-optimization/112626 + * gcc.dg/tree-ssa/pr112626.c: New test. + * gcc.dg/tree-ssa/pr112626-wrap.c: New test. + +2026-09-22 Pan Li <[email protected]> + + PR target/127269 + * gcc.target/riscv/rvv/base/pr127269-18.c: New test. + * gcc.target/riscv/rvv/base/pr127269-19.c: New test. + * gcc.target/riscv/rvv/base/pr127269-20.c: New test. + * gcc.target/riscv/rvv/base/pr127269-21.c: New test. + * gcc.target/riscv/rvv/base/pr127269-22.c: New test. + +2026-09-22 Pan Li <[email protected]> + + * gcc.target/riscv/rvv/base/pr112431-42.c: Remove the xfail + of the vmv1r check. + +2026-09-22 Pan Li <[email protected]> + + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f16-m1.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f16-m2.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f16-m4.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f16-mf2.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f16-mf4.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f32-m1.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f32-m2.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f32-m4.c: New test. + * gcc.target/riscv/rvv/autovec/group_overlap/vfwadd_wv-f32-mf2.c: New test. + +2026-09-22 Andrea Pinski <[email protected]> + + * c-c++-common/gomp/has-include-1.c: Add second dg-error. + 2026-09-21 Eric Botcazou <[email protected]> * gnat.dg/array44.adb: New test. diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog index 2669fb410919..db6013de2884 100644 --- a/libgcobol/ChangeLog +++ b/libgcobol/ChangeLog @@ -1,3 +1,13 @@ +2026-09-22 Xavier Del Campo Romero <[email protected]> + + * compat/gnu/lib/cbl_gpi.cc (struct gpi_priv): Fix flawed logic. + (getlastprog): Likewise. + (callstack): Likewise. + (cbl_gpi_cur_status): Likewise. + (cbl_gpi_handle_status): Likewise. + (cbl_gpi_parent_status): Likewise. + (cbl_gpi_close_handle): Likewise. + 2026-09-21 Robert Dubner <[email protected]> * libgcobol.cc (int128_to_field): Remove rdigits formal parameter. diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 96b34856a7ad..8c00ae010636 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,11 @@ +2026-09-22 Chung-Lin Tang <[email protected]> + + * testsuite/libgomp.c-c++-common/declare-target-local-1.c: New test. + * testsuite/libgomp.c-c++-common/declare-target-local-2.c: New test. + * testsuite/libgomp.c-c++-common/declare-target-local-3.c: New test. + * testsuite/libgomp.c-c++-common/declare-target-local-4.c: New test. + * testsuite/libgomp.fortran/declare-target-local-1.f90: New test. + 2026-09-21 Tobias Burnus <[email protected]> * libgomp.texi (OpenMP 5.2 Impl. Status): Mark comma between diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a7eb187b2315..76fbbcdb629a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,87 @@ +2026-09-22 Jonathan Wakely <[email protected]> + + * config/io/basic_file_stdio.h (__basic_file): Define copy + constructor and copy assignment operator as deleted for C++98. + * include/bits/stl_bvector.h (vector<bool, A>::data): Define as + deleted for C++98. + * include/bits/stl_tree.h (_Reuse_or_alloc_node): Define copy + constructor as deleted for C++98. + * include/bits/stl_vector.h (_Asan<allocator<T>>::_Reinit): + Define copy constructor and copy assignment operator as deleted + for C++98. + (_Asan<allocator<T>>::_Grow): Likewise. + * testsuite/util/replacement_memory_operators.h + (__gnu_test::counter::scope): Likewise. + * testsuite/util/testsuite_iterators.h (operator,, operator&) + (operator+=, operator-=, operator[]): Define deleted operators + for C++98. + +2026-09-22 Patrick Palka <[email protected]> + Tomasz Kamiński <[email protected]> + + PR libstdc++/126120 + * include/bits/shared_ptr.h (std::__shared_nullptr_ctor_tag): + Define. + (shared_ptr::shared_ptr(nullptr_t, ...)): Constrain _Deleter + via _NullptrDeleter parameter. + * include/bits/shared_ptr_base.h (__shared_ptr::_ValidDeleter): + New __enable_if_t constraint. + (__shared_ptr::__shared_ptr(Yp*, _Deleter, ...)): Add _ValidDeleter + constraint. Move static_assert checking deleter invocability + to corresponding reset functions. + (__shared_ptr::reset): Add static_assert checks for deleter + invocability. + * testsuite/20_util/shared_ptr/cons/126120.cc: New test. + +2026-09-22 Tamar Christina <[email protected]> + + PR libstdc++/126274 + * include/bits/regex_executor.h (_M_match_simple_repeat_body): New. + * include/bits/regex_executor.tcc (_M_dfs_next): Inline consume matches + on _S_opcode_repeat. + (_M_match_simple_repeat_body): New. + +2026-09-22 Tamar Christina <[email protected]> + + PR libstdc++/126274 + PR libstdc++/88947 + * include/bits/regex_executor.h (_M_search_from_first): Avoid needless + recursions. + (_M_maybe_start_match): New. + * include/bits/regex_executor.tcc (_M_maybe_start_match): New. + +2026-09-22 Tamar Christina <[email protected]> + + PR libstdc++/126274 + * include/bits/regex_executor.h (_Search_mode): Move to top level. + (_M_handle_repeat, _M_handle_match, _M_handle_accept, _M_node, _M_dfs): + Add template parameter. + (_M_visited): Add inline keyword. + * include/bits/regex_executor.tcc (_M_handle_repeat, _M_handle_match, + _M_handle_accept, _M_node, _M_dfs): Use template parameter. + +2026-09-22 Tamar Christina <[email protected]> + + PR libstdc++/126274 + * include/bits/regex_executor.h (_Executor): Reserve frame space. + (_M_rep_once_more, _M_handle_repeat, _M_handle_subexpr_begin, + _M_handle_subexpr_end, _M_handle_line_begin_assertion, + _M_handle_line_end_assertion, _M_handle_word_boundary, + _M_handle_subexpr_lookahead, _M_handle_match, _M_handle_backref, + _M_node): return StateIdT. + (_M_visited): Mark inline. + * include/bits/regex_executor.tcc (_M_rep_once_more, _M_handle_repeat, + _M_handle_subexpr_begin, _M_handle_subexpr_end, + _M_handle_line_begin_assertion, _M_handle_line_end_assertion, + _M_handle_word_boundary, _M_handle_subexpr_lookahead, _M_handle_match, + _M_handle_backref): Return state, mark always inline. + (_M_node): Return StateIdT and also decide what to do with the value + after return. + (_M_dfs): Traverse states iteratively for _S_fopcode_next, + _S_fopcode_fallback_next, _S_fopcode_fallback_rep_once_more + and _S_fopcode_rep_once_more. + * include/bits/regex.h (class _Executor): Move to V2 ABI. + 2026-09-21 Tomasz Kamiński <[email protected]> PR libstdc++/82749
