]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Wed, 24 May 2023 00:17:47 +0000 (00:17 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Wed, 24 May 2023 00:17:47 +0000 (00:17 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c/ChangeLog
gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
libstdc++-v3/ChangeLog

index f8cfd985efad0a0845a8733be5fde1698843ecad..bf4216c17e485527ea767bffa3af3beade6b70cb 100644 (file)
@@ -1,3 +1,155 @@
+2023-05-23  Martin Uecker  <uecker@tugraz.at>
+
+       PR c/109450
+       * function.cc (gimplify_parm_type): Remove function.
+       (gimplify_parameters): Call gimplify_type_sizes.
+
+2023-05-23  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.md (*addsubx): Rename from '*addx',
+       and change to also accept '*subx' pattern.
+       (*subx): Remove.
+
+2023-05-23  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/predicates.md (addsub_operator): New.
+       * config/xtensa/xtensa.md (*extzvsi-1bit_ashlsi3,
+       *extzvsi-1bit_addsubx): New insn_and_split patterns.
+       * config/xtensa/xtensa.cc (xtensa_rtx_costs):
+       Add a special case about ifcvt 'noce_try_cmove()' to handle
+       constant loads that do not fit into signed 12 bits in the
+       patterns added above.
+
+2023-05-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/109747
+       * tree-vect-slp.cc (vect_prologue_cost_for_slp): Pass down
+       the SLP node only once to the cost hook.
+
+2023-05-23  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.cc (avr_insn_cost): New static function.
+       (TARGET_INSN_COST): Define to that function.
+
+2023-05-23  Richard Biener  <rguenther@suse.de>
+
+       PR target/109944
+       * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
+       For vector construction or splats apply GPR->XMM move
+       costing.  QImode memory can be handled directly only
+       with SSE4.1 pinsrb.
+
+2023-05-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/108752
+       * tree-vect-stmts.cc (vectorizable_operation): For bit
+       operations with generic word_mode vectors do not cost
+       an extra stmt.  For plus, minus and negate also cost the
+       constant materialization.
+
+2023-05-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial):
+       Call ix86_expand_vec_shift_qihi_constant for shifts
+       with constant count operand.
+       * config/i386/i386.cc (ix86_shift_rotate_cost):
+       Handle V4QImode and V8QImode.
+       * config/i386/mmx.md (<insn>v8qi3): New insn pattern.
+       (<insn>v4qi3): Ditto.
+
+2023-05-23  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+       * config/riscv/vector.md: Add mode.
+
+2023-05-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/109934
+       * value-range.cc (irange::invert): Remove buggy special case.
+
+2023-05-23  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.cc (compute_antic_aux): Dump the correct
+       ANTIC_OUT.
+
+2023-05-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/109632
+       * config/aarch64/aarch64.cc (aarch64_modes_tieable_p): Allow
+       subregs between any scalars that are 64 bits or smaller.
+       * config/aarch64/iterators.md (SUBDI_BITS): New int iterator.
+       (bits_etype): New int attribute.
+       * config/aarch64/aarch64.md (*insv_reg<mode>_<SUBDI_BITS>)
+       (*aarch64_bfi<GPI:mode><ALLX:mode>_<SUBDI_BITS>): New patterns.
+       (*aarch64_bfidi<ALLX:mode>_subreg_<SUBDI_BITS>): Likewise.
+
+2023-05-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/md.texi: Document that <FOO> can be used to refer to the
+       numerical value of an int iterator FOO.  Tweak other parts of
+       the int iterator documentation.
+       * read-rtl.cc (iterator_group::has_self_attr): New field.
+       (map_attr_string): When has_self_attr is true, make <FOO>
+       expand to the current value of iterator FOO.
+       (initialize_iterators): Set has_self_attr for int iterators.
+
+2023-05-23  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+       * config/riscv/autovec.md: Refactor the framework of RVV auto-vectorization.
+       * config/riscv/riscv-protos.h (RVV_MISC_OP_NUM): Ditto.
+       (RVV_UNOP_NUM): New macro.
+       (RVV_BINOP_NUM): Ditto.
+       (legitimize_move): Refactor the framework of RVV auto-vectorization.
+       (emit_vlmax_op): Ditto.
+       (emit_vlmax_reg_op): Ditto.
+       (emit_len_op): Ditto.
+       (emit_len_binop): Ditto.
+       (emit_vlmax_tany_many): Ditto.
+       (emit_nonvlmax_tany_many): Ditto.
+       (sew64_scalar_helper): Ditto.
+       (expand_tuple_move): Ditto.
+       * config/riscv/riscv-v.cc (emit_pred_op): Ditto.
+       (emit_pred_binop): Ditto.
+       (emit_vlmax_op): Ditto.
+       (emit_vlmax_tany_many): New function.
+       (emit_len_op): Remove.
+       (emit_nonvlmax_tany_many): New function.
+       (emit_vlmax_reg_op): Remove.
+       (emit_len_binop): Ditto.
+       (emit_index_op): Ditto.
+       (expand_vec_series): Refactor the framework of RVV auto-vectorization.
+       (expand_const_vector): Ditto.
+       (legitimize_move): Ditto.
+       (sew64_scalar_helper): Ditto.
+       (expand_tuple_move): Ditto.
+       (expand_vector_init_insert_elems): Ditto.
+       * config/riscv/riscv.cc (vector_zero_call_used_regs): Ditto.
+       * config/riscv/vector.md: Ditto.
+
+2023-05-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/109855
+       * config/aarch64/aarch64-simd.md (add_vec_concat_subst_le): Add predicate
+       and constraint for operand 0.
+       (add_vec_concat_subst_be): Likewise.
+
+2023-05-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/109849
+       * tree-ssa-pre.cc (do_hoist_insertion): Compute ANTIC_OUT
+       and use that to determine what to hoist.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.cc (native_encode_initializer) <CONSTRUCTOR>: Apply the
+       specific treatment for bit-fields only if they have an integral type
+       and filter out non-integral bit-fields that do not start and end on
+       a byte boundary.
+
+2023-05-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/109920
+       * value-range.h (RESIZABLE>::~int_range): Use delete[].
+
 2023-05-22  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.cc (ix86_shift_rotate_cost): Correct
index b7d9ba7ed1a4279e0fcd6d3876607321426a69e4..5b2cd0ee4d1161d9386ce1c90611cffcd4a27d9a 100644 (file)
@@ -1 +1 @@
-20230523
+20230524
index c9e79bc3de78311796ac8c3659a2d9878b4036cd..1bc68a52cdc98ab95ae7d03d5aa990ba79240f1c 100644 (file)
@@ -1,3 +1,396 @@
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * aspects.ads
+       (Aspect_Id): Add aspect identifier.
+       (Aspect_Argument): New aspect accepts an expression.
+       (Is_Representation_Aspect): New aspect is not a representation
+       aspect.
+       (Aspect_Names): Associate name with the new aspect identifier.
+       (Aspect_Delay): New aspect is never delayed.
+       * contracts.adb
+       (Add_Contract_Item): Store new aspect among contract items.
+       (Analyze_Entry_Or_Subprogram_Contract): Likewise.
+       (Analyze_Subprogram_Body_Stub_Contract): Likewise.
+       (Process_Contract_Cases): Expand new aspect, if present.
+       * contracts.ads
+       (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in
+       spec.
+       (Analyze_Entry_Or_Subprogram_Contract): Likewise.
+       * einfo-utils.adb
+       (Get_Pragma): Allow new aspect to be picked by the backend.
+       * einfo-utils.ads
+       (Get_Pragma): Mention new aspect in spec.
+       * exp_prag.adb
+       (Expand_Pragma_Exceptional_Cases): Dummy expansion routine.
+       * exp_prag.ads
+       (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine.
+       * inline.adb
+       (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline.
+       * par-prag.adb
+       (Par.Prag): Accept pragma in the parser, so it will be checked
+       later.
+       * sem_ch12.adb
+       (Implementation of Generic Contracts): Mention new aspect in
+       comment.
+       * sem_ch13.adb
+       (Analyze_Aspect_Specifications): Transform new aspect info a
+       corresponding pragma.
+       * sem_prag.adb
+       (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect
+       expression; heavily inspired by the existing code for analysis of
+       Subprogram_Variant and exception handlers.
+       (Analyze_Pragma): Analyze pragma corresponding to the new aspect.
+       (Is_Non_Significant_Pragma_Reference): Add new pragma to the
+       table.
+       * sem_prag.ads
+       (Assertion_Expression_Pragma): New pragma acts as an assertion
+       expression, even though it is not currently expanded.
+       (Analyze_Exceptional_Cases_In_Decl_Part): Add spec.
+       * sem_util.adb
+       (Is_Subprogram_Contract_Annotation): Mark new annotation is a
+       subprogram contract, so the subprogram with it won't be inlined.
+       * sem_util.ads
+       (Is_Subprogram_Contract_Annotation): Mention new aspect in
+       comment.
+       * sinfo.ads
+       (Contract_Test_Cases): Mention new aspect in comment.
+       * snames.ads-tmpl: Add entries for the new name and pragma.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): If the current scope
+       is not that of the type, push this scope and pop it at the end.
+       * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete.
+       * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise.
+       (Set_Public_Status): Call again Current_Scope.
+
+2023-05-23  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from
+       call to Is_Limited_Record, since that flag is now properly
+       inherited by class-wide types.
+       * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call
+       to Make_Class_Wide_Type, which is done too early, and will later
+       be done in Build_Derived_Record_Type after flags such as
+       Is_Limited_Record and Is_Controlled_Active have been set on the
+       derived type.
+
+2023-05-23  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack.
+       * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS
+       choice.
+       * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch11.adb
+       (Check_Duplication): Fix inconsistent iteration.
+       (Others_Present): Iterate over handlers using First_Non_Pragma and
+       Next_Non_Pragma just like in Check_Duplication.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Delay_Subprogram_Descriptors): Delete.
+       * gen_il-fields.ads (Opt_Field_Enum): Remove
+       Delay_Subprogram_Descriptors.
+       * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise.
+       * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec.
+       * sinfo.ads (Corresponding_Spec): Document new use.
+       (N_Entry_Body): Likewise.
+       * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for
+       protected subprograms that have been expanded.
+       * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code.
+       * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the
+       new block and propagate Uses_Sec_Stack from the corresponding spec.
+       (Expand_N_Protected_Body) <N_Subprogram_Body>: Unconditionally reset
+       the scopes of top-level entities in the new body.
+       * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly.
+       * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec.
+       * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code
+       setting Delay_Subprogram_Descriptors and tidy up.
+       * sem_util.adb (Scope_Within): Deal with protected subprograms that
+       have been expanded.
+       (Scope_Within_Or_Same): Likewise.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnarl/s-taskin.ads (Atomic_Address): Delete.
+       (Attribute_Array): Add pragma Atomic_Components.
+       (Ada_Task_Control_Block): Adjust default value of Attributes.
+       * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local
+       variable.
+       * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter.
+       (To_Attribute): Adjust source type.
+       * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements.
+       (New_Attribute): Adjust return type.
+       (Deallocate): Adjust type of parameter.
+       (To_Real_Attribute): Adjust source type.
+       (To_Address): Add target type.
+       (To_Attribute): Adjust source type.
+       (Fast_Path): Adjust tested type.
+       (Finalize): Compare with Null_Address.
+       (Reference): Likewise.
+       (Reinitialize): Likewise.
+       (Set_Value): Likewise.  Add conversion to Integer_Address.
+       (Value): Likewise.
+
+2023-05-23  Raphael Amiard  <amiard@adacore.com>
+
+       * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed
+       by Core_Extensions_Allowed.
+
+2023-05-23  Claire Dross  <dross@adacore.com>
+
+       * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers.
+       * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost,
+       Raw_Unsigned_Is_Based_Ghost): New ghost helper functions.
+       (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost,
+       Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new
+       helpers.
+
+2023-05-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch5.adb, style.ads, styleg.adb, styleg.ads
+       (Check_Xtra_Parens): Remove extra parameter Enable.
+       (Check_Xtra_Parens_Precedence): New.
+       (P_Case_Statement): Add -gnatyx style check.
+       * sem_ch4.adb: Replace calls to Check_Xtra_Parens by
+       Check_Xtra_Parens_Precedence.
+       * stylesw.ads, stylesw.adb, usage.adb: Add support for
+       -gnatyz.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Update -gnatyxzg doc.
+       * sem_prag.adb, libgnat/s-regpat.adb,
+       libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb:
+       Remove extra parens.
+       * par-ch3.adb (P_Discrete_Range): Do not emit a style check if
+       the expression is not a simple expression.
+       * gnat_ugn.texi: Regenerate.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of
+       System.Storage_Elements to compute the offset.
+       (Symbolic_Address): Likewise.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same
+       resolution for the special mod operator of System.Storage_Elements.
+
+2023-05-23  Raphael Amiard  <amiard@adacore.com>
+
+       * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst,
+       doc/gnat_rm/implementation_defined_pragmas.rst:
+       * gnat_rm.texi: Regenerate.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special
+       operator of System.Storage_Elements.  Do not rewrite it into a rem.
+       * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the
+       left operand for the special mod operator of System.Storage_Elements
+
+2023-05-23  Vadim Godunko  <godunko@adacore.com>
+
+       * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call
+       of Detach
+       (Query_Element): Likewise.
+
+2023-05-23  Ronan Desplanques  <desplanques@adacore.com>
+
+       * sem_disp.adb: Fix reference to Ada issue in comment.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface
+       class-wide case, use 'Tag of the object as the controlling tag.
+       (Expand_Interface_Thunk): Perform address arithmetic using operators
+       of System.Storage_Elements.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements.
+       (Addr): Delete.
+       (Offset): New subtype of Storage_Offset.
+       (To_Offset): New instance of Unchecked_Conversion.
+       (To_Pointer): Adjust.
+       (To_Addr): Likewise.
+       (To_Ptrdiff): Likewise.
+       ("+"): Call To_Offset on the offset.
+       ("-"): Likewise.
+       * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements.
+       (Val_Bytes): Change type to Storage_Count.
+       (Get_Val_2): Add qualification to second operand of mod operator.
+       (Set_Val_2): Likewise.
+       (Copy_Bitfield): Likewise.  Change type of Src_Adjust & Dest_Adjust.
+       * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address.
+       * libgnat/s-statxd.adb (I_AD): Adjust.
+       (I_AS): Likewise.
+       (W_AS): Likewise.
+
+2023-05-23  Steve Baird  <baird@adacore.com>
+
+       * sem_util.adb
+       (Is_Variable): Correctly return False for a selected component
+       name of the form Some_Object.Some_Discriminant, even if
+       Some_Object is a variable. We don't want to allow such a name as
+       an actual parameter in a call if the corresponding formal
+       parameter's mode is not "in".
+
+2023-05-23  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb (Check_Node): Add default init on local Id.
+
+2023-05-23  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/i-c.adb (To_Ada): Add loop invariant.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod
+       operator of System.Storage_Elements.
+       * exp_intr.adb (Expand_To_Integer): New procedure.
+       (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately.
+       (Expand_To_Address): Deal with an argument with modular type.
+       * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic
+       on a derived intrinsic subprogram.
+       * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic
+       operators not coming from source exactly as those coming from
+       source and also generate a reference in both cases.
+       (Resolve_Op_Expon): Likewise.
+       (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get
+       a nonprivate base type.
+       * snames.ads-tmpl (Name_To_Integer): New intrinsic name.
+       * libgnat/s-stoele.ads: Replace pragma Convention with pragma
+       Import throughout and remove pragma Inline_Always and
+       Pure_Function.
+       * libgnat/s-stoele.adb: Replace entire contents with pragma
+       No_Body.
+       * libgnat/s-atacco.adb: Adjust comment about pragma No_Body.
+
+2023-05-23  Javier Miranda  <miranda@adacore.com>
+
+       * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
+       call to preanalyze class-wide conditions since here it is too
+       early; they must be preanalyzed when full views of private types
+       have been analyzed.
+       * sem_ch7.adb (Analyze_Package_Specification): Preanalyze
+       class-wide conditions of dispatching primitives defined in nested
+       packages.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1"
+       statement into a subprogram; replace assertions with defensive code;
+       fix few more off-by-one errors.
+
+2023-05-23  Ronan Desplanques  <desplanques@adacore.com>
+
+       * einfo.ads: Mention full name of LSP.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb (Last_Sloc): Rewrite skipping past numeric literals.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the
+       commentary to the current implementation.
+       * sem_util.ads (Current_Scope_No_Loops): Move around.
+       (Current_Scope_No_Loops_No_Blocks): New declaration.
+       (Add_Block_Identifier): Fix formatting.
+       * sem_util.adb (Add_Block_Identifier): Likewise.
+       (Current_Scope_No_Loops_No_Blocks): New function.
+       (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead
+       of Current_Scope to get the current scope.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not
+       manually generate a predicate check.  Call Unqualify before doing
+       pattern matching on the expression.
+       * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual
+       subtype when it is built in the definite case.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnarl/s-interr.adb
+       (Registered_Handler): Remove default expression.
+       (Registered_Handlers): Switch to singly-linked list.
+       (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants.
+       (Is_Registered): Use singly-linked list.
+       (Register_Interrupt_Handler): Use singly-linked list and initialized
+       allocator; sync assertion with other unit variants.
+       * libgnarl/s-interr__sigaction.adb: Likewise.
+       * libgnarl/s-interr__vxworks.adb: Likewise.
+       * libgnarl/s-interr__hwint.adb: Likewise.
+       (Is_Registered): Remove repeated declaration.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb (Expression_Image): Restore some of the old pretty-printing
+       for CodePeer.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb (Expression_Image): Move Count_Parentheses and
+       Fix_Parentheses routines from GNATprove and apply them before
+       returning the slice of a source code buffer.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb
+       (Paren_Required): New subsidiary routine for better handling of
+       parentheses in First_Node/Last_Node.
+       (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly
+       handle generic instances and inlined subprograms; tune handling of
+       parentheses; improve handling of literals.
+       * pprint.adb (Expression_Image): Simplify using
+       First_Sloc/Last_Sloc.
+       * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis
+       when relocating expression from expression function to simple
+       return statement.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of
+       subprogram variants.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * frontend.adb (Frontend): Merge two conditional blocks and adjust.
+
+2023-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment.
+
+2023-05-23  Ronan Desplanques  <desplanques@adacore.com>
+
+       * sem_ch7.adb: Remove duplicate comment.
+
+2023-05-23  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch10.adb
+       (Analyze_Required_Limited_With_Units): New subprogram.
+       (Depends_On_Limited_Views): New subprogram.
+       (Has_Limited_With_Clauses): New subprogram.
+       (Analyze_Compilation_Unit): Call the new subprogram that performs
+       the full analysis of required limited-with units.
+
 2023-05-22  Ronan Desplanques  <desplanques@adacore.com>
 
        * cstand.adb: Use more idiomatic procedure.
index df94b8150073138653e9e35e0285e4c47894ab72..09e561e9b6b498c54ea59c9a420b2fa8953f447a 100644 (file)
@@ -1,3 +1,30 @@
+2023-05-23  Martin Uecker  <uecker@tugraz.at>
+
+       PR c/109450
+       * c-decl.cc (add_decl_expr): New function.
+       (grokdeclarator): Add decl expr for size expression in
+       types pointed to by parameters declared as arrays.
+
+2023-05-23  Martin Uecker  <uecker@tugraz.at>
+
+       PR c/70418
+       PR c/106465
+       PR c/107557
+       PR c/108423
+       * c-decl.cc (start_decl): Make sure size expression are
+       evaluated only in correct context.
+       (grokdeclarator): Size expression in fields may need a bind
+       expression, make sure DECL_EXPR is always created.
+       (grokfield, declspecs_add_type): Pass along size expressions.
+       (finish_struct): Remove unneeded DECL_EXPR.
+       (start_function): Evaluate size expressions for nested functions.
+       * c-parser.cc (c_parser_struct_declarations,
+       c_parser_struct_or_union_specifier): Pass along size expressions.
+       (c_parser_declaration_or_fndef): Evaluate size expression.
+       (c_parser_objc_at_property_declaration,
+       c_parser_objc_class_instance_variables): Adapt.
+       * c-tree.h (grokfield): Adapt declaration.
+
 2023-05-19  Martin Uecker  <uecker@tugraz.at>
 
        * c-decl.cc (set_type_context): Remove.
index f14d770881551511842a5298b5db3e9334ead130..134809c91d6d06ee0ef3bd3f192bb859fa414b8e 100644 (file)
@@ -1,3 +1,20 @@
+2023-05-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/103716
+       * resolve.cc (gfc_resolve_ref): Conversion of array_ref into an
+       element should be done for all characters without a len expr,
+       not just deferred lens, and for integer expressions.
+       * trans-expr.cc (conv_inquiry): For len and kind inquiry refs,
+       set the se string_length to NULL_TREE.
+
+2023-05-23  Paul Thomas  <pault@gcc.gnu.org>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/97122
+       * decl.cc (variable_decl): Clean up white space issues.
+       (gfc_match_final_decl): Declaration of finalizable derived type
+       is allowed in a submodule.
+
 2023-05-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
 
        * expr.cc (gfc_get_corank): Use CLASS_DATA from gfortran.h.
index 82b357058f4dc08e14da843fdd90f8e68a385001..9e39a7b3ffaf1d4a0c36a118f3b68f325ac3acd9 100644 (file)
@@ -1,3 +1,82 @@
+2023-05-23  Martin Uecker  <uecker@tugraz.at>
+
+       PR c/109450
+       * gcc.dg/pr109450-1.c: New test.
+       * gcc.dg/pr109450-2.c: New test.
+       * gcc.dg/vla-26.c: New test.
+
+2023-05-23  Martin Uecker  <uecker@tugraz.at>
+
+       PR c/70418
+       PR c/106465
+       PR c/107557
+       PR c/108423
+       * gcc.dg/nested-vla-1.c: New test.
+       * gcc.dg/nested-vla-2.c: New test.
+       * gcc.dg/nested-vla-3.c: New test.
+       * gcc.dg/pr70418.c: New test.
+       * gcc.dg/pr106465.c: New test.
+       * gcc.dg/pr107557-1.c: New test.
+       * gcc.dg/pr107557-2.c: New test.
+       * gcc.dg/pr108423-1.c: New test.
+       * gcc.dg/pr108423-2.c: New test.
+       * gcc.dg/pr108423-3.c: New test.
+       * gcc.dg/pr108423-4.c: New test.
+       * gcc.dg/pr108423-5.c: New test.
+       * gcc.dg/pr108423-6.c: New test.
+       * gcc.dg/typename-vla-2.c: New test.
+       * gcc.dg/typename-vla-3.c: New test.
+       * gcc.dg/typename-vla-4.c: New test.
+       * gcc.misc-tests/gcov-pr85350.c: Adapt.
+       * gcc.dg/typename-vla-5.c: New file.
+       * gcc.dg/typename-vla-6.c: New file.
+
+2023-05-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/vect-shiftv4qi.c: New test.
+       * gcc.target/i386/vect-shiftv8qi.c: New test.
+
+2023-05-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/109934
+       * gcc.dg/tree-ssa/pr109934.c: New test.
+
+2023-05-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/ins_bitfield_1.c: New test.
+       * gcc.target/aarch64/ins_bitfield_2.c: Likewise.
+       * gcc.target/aarch64/ins_bitfield_3.c: Likewise.
+       * gcc.target/aarch64/ins_bitfield_4.c: Likewise.
+       * gcc.target/aarch64/ins_bitfield_5.c: Likewise.
+       * gcc.target/aarch64/ins_bitfield_6.c: Likewise.
+
+2023-05-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/109855
+       * gcc.target/aarch64/pr109855.c: New test.
+
+2023-05-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/109849
+       * gcc.dg/tree-ssa/ssa-hoist-8.c: New testcase.
+
+2023-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt101.adb: New test.
+       * gnat.dg/opt101_pkg.ads: New helper.
+
+2023-05-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/103716
+       * gfortran.dg/pr103716.f90 : New test.
+
+2023-05-23  Paul Thomas  <pault@gcc.gnu.org>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/97122
+       * gfortran.dg/finalize_8.f03 : Replace testcase that checks
+       declaration of finalizable derived types in submodules works.
+
 2023-05-22  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/sse2-shiftqihi-constant-1.c: Remove XFAILs.
index b4ae9e4517e080d8c32818fc79e839ff31d75626..def90eeb88754de277a3ea174a6136ab791e82af 100644 (file)
@@ -1,3 +1,47 @@
+2023-05-23  Matthias Kretz  <m.kretz@gsi.de>
+
+       PR libstdc++/109261
+       * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
+       Avoid vector builtin subscripting in constant expressions.
+       (resizing_simd_cast): Avoid memcpy if constant_evaluated.
+       (const_where_expression, where_expression, where)
+       (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
+       _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
+       internal APIs).
+       * include/experimental/bits/simd_builtin.h (__vector_permute)
+       (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
+       (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
+       (_MaskImplBuiltin::_S_store): Add constexpr.
+       (_CommonImplBuiltin::_S_store_bool_array)
+       (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
+       (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
+       constant_evaluated case.
+       * include/experimental/bits/simd_fixed_size.h
+       (_S_masked_load): Reword comment.
+       (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
+       (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
+       (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
+       (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
+       (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
+       constexpr.
+       (_SimdTuple::operator[], _M_set): Add constexpr and add
+       constant_evaluated case.
+       (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
+       * include/experimental/bits/simd_scalar.h: Add constexpr.
+       * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
+       constexpr and add constant_evaluated case.
+       (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
+       (_S_less_equal): Value-initialize to satisfy constexpr
+       evaluation.
+       (_MaskImplX86::_S_load): Add constant_evaluated case.
+       (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
+       case. Value-initialize local variables.
+       (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
+       (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
+       case.
+       * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
+       test.
+
 2023-05-22  Matthias Kretz  <m.kretz@gsi.de>
 
        * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move