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

commit r15-701-gb666d86b41c85a1756bf43951661a03f670a6852
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Tue May 21 00:17:26 2024 +0000

    Daily bump.

Diff:
---
 ChangeLog               |   5 +
 gcc/ChangeLog           | 212 ++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       | 369 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/fortran/ChangeLog   |  20 +++
 gcc/testsuite/ChangeLog | 117 +++++++++++++++
 6 files changed, 724 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 703b3fbb18fc..262d1ebfc3cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-20  Gerald Pfeifer  <ger...@pfeifer.com>
+
+       * MAINTAINERS: Move Joern Rennecke from arc and epiphany maintainer
+       to Write After Approval.
+
 2024-05-17  Levy Hsu  <ad...@levyhsu.com>
 
        * MAINTAINERS: Add myself.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07aad1886112..d379d8f4691f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,215 @@
+2024-05-20  Andrew Pinski  <quic_apin...@quicinc.com>
+
+       PR tree-optimization/115143
+       * tree-ssa-phiopt.cc (minmax_replacement): Check for empty
+       phi nodes for middle bbs for the case where middle bb is not empty.
+
+2024-05-20  Pengxuan Zheng  <quic_pzh...@quicinc.com>
+
+       PR target/102171
+       * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_LOW_BUILTINS):
+       New macro to create definitions for all vget_low intrinsics.
+       (VGET_LOW_BUILTIN): Likewise.
+       (enum aarch64_builtins): Add vget_low function codes.
+       (aarch64_general_fold_builtin): Fold vget_low calls.
+       * config/aarch64/aarch64-simd-builtins.def: Delete vget_low builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_get_low<mode>): Delete.
+       (aarch64_vget_lo_halfv8bf): Likewise.
+       * config/aarch64/arm_neon.h (__attribute__): Delete.
+       (vget_low_f16): Likewise.
+       (vget_low_f32): Likewise.
+       (vget_low_f64): Likewise.
+       (vget_low_p8): Likewise.
+       (vget_low_p16): Likewise.
+       (vget_low_p64): Likewise.
+       (vget_low_s8): Likewise.
+       (vget_low_s16): Likewise.
+       (vget_low_s32): Likewise.
+       (vget_low_s64): Likewise.
+       (vget_low_u8): Likewise.
+       (vget_low_u16): Likewise.
+       (vget_low_u32): Likewise.
+       (vget_low_u64): Likewise.
+       (vget_low_bf16): Likewise.
+
+2024-05-20  Wilco Dijkstra  <wilco.dijks...@arm.com>
+
+       * config/aarch64/aarch64.cc (aarch64_rtx_costs): Improve CTZ costing.
+
+2024-05-20  Wilco Dijkstra  <wilco.dijks...@arm.com>
+
+       * config/aarch64/aarch64.md (movsi_aarch64): Use '\;' to force
+       newline in 2-instruction pattern.
+       (movdi_aarch64): Likewise.
+
+2024-05-20  Ajit Kumar Agarwal  <aagar...@linux.ibm.com>
+
+       * config/aarch64/aarch64-ldp-fusion.cc: Rename generic parts of code
+       to avoid "ldp" and "stp".
+
+2024-05-20  Mark Wielaard  <m...@klomp.org>
+
+       * config/riscv/riscv.opt.urls: Regenerate.
+       * config/i386/i386.opt.urls: Likewise.
+
+2024-05-20  Ajit Kumar Agarwal  <aagar...@linux.ibm.com>
+
+       * config/aarch64/aarch64-ldp-fusion.cc: Factor out a
+       target-independent interface and move it to the head of the file
+
+2024-05-20  YunQiang Su  <s...@gcc.gnu.org>
+
+       * config/mips/mips.cc(mips_option_override):
+       Drop mips_lra_flag variable;
+       (mips_lra_p): Removed.
+       (TARGET_LRA_P): Remove definition here to use the default one.
+       * config/mips/mips.md(*mul_acc_si, *mul_acc_si_r3900, *mul_sub_si):
+       Drop mips_lra_flag variable.
+       * config/mips/mips.opt(-mlra): Removed.
+       * config/mips/mips.opt.urls(mlra): Removed.
+
+2024-05-20  Haochen Jiang  <haochen.ji...@intel.com>
+
+       * common/config/i386/cpuinfo.h
+       (get_intel_cpu): Remove Xeon Phi cpus.
+       (get_available_features): Remove Xeon Phi ISAs.
+       * common/config/i386/i386-common.cc
+       (OPTION_MASK_ISA_AVX512PF_SET): Removed.
+       (OPTION_MASK_ISA_AVX512ER_SET): Ditto.
+       (OPTION_MASK_ISA2_AVX5124FMAPS_SET): Ditto.
+       (OPTION_MASK_ISA2_AVX5124VNNIW_SET): Ditto.
+       (OPTION_MASK_ISA_PREFETCHWT1_SET): Ditto.
+       (OPTION_MASK_ISA_AVX512F_UNSET): Remove AVX512PF and AVX512ER.
+       (OPTION_MASK_ISA_AVX512PF_UNSET): Removed.
+       (OPTION_MASK_ISA_AVX512ER_UNSET): Ditto.
+       (OPTION_MASK_ISA2_AVX5124FMAPS_UNSET): Ditto.
+       (OPTION_MASK_ISA2_AVX5124VNNIW_UNSET): Ditto.
+       (OPTION_MASK_ISA_PREFETCHWT1_UNSET): Ditto.
+       (OPTION_MASK_ISA2_AVX512F_UNSET): Remove AVX5124FMAPS and
+       AVX5125VNNIW.
+       (ix86_handle_option): Remove Xeon Phi options.
+       (processor_names): Remove Xeon Phi cpus.
+       (processor_alias_table): Ditto.
+       * common/config/i386/i386-cpuinfo.h
+       (enum processor_types): Ditto.
+       (enum processor_features): Remove Xeon Phi ISAs.
+       * common/config/i386/i386-isas.h: Ditto.
+       * config.gcc: Remove Xeon Phi cpus and ISAs.
+       * config/i386/avx5124fmapsintrin.h: Remove intrin support.
+       * config/i386/avx5124vnniwintrin.h: Ditto.
+       * config/i386/avx512erintrin.h: Ditto.
+       * config/i386/avx512pfintrin.h: Ditto.
+       * config/i386/cpuid.h (bit_AVX512PF): Removed.
+       (bit_AVX512ER): Ditto.
+       (bit_PREFETCHWT1): Ditto.
+       (bit_AVX5124VNNIW): Ditto.
+       (bit_AVX5124FMAPS): Ditto.
+       * config/i386/driver-i386.cc
+       (host_detect_local_cpu): Remove Xeon Phi.
+       * config/i386/i386-builtin-types.def: Remove unused types.
+       * config/i386/i386-builtin.def (BDESC): Remove builtins.
+       * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): Ditto.
+       * config/i386/i386-c.cc (ix86_target_macros_internal): Remove Xeon
+       Phi cpus and ISAs.
+       * config/i386/i386-expand.cc (ix86_expand_builtin): Remove Xeon Phi
+       related handlers.
+       (ix86_emit_swdivsf): Ditto.
+       (ix86_emit_swsqrtsf): Ditto.
+       * config/i386/i386-isa.def: Remove Xeon Phi ISAs.
+       * config/i386/i386-options.cc (m_KNL): Removed.
+       (m_KNM): Ditto.
+       (isa2_opts): Remove Xeon Phi ISAs.
+       (isa_opts): Ditto.
+       (processor_cost_table): Remove Xeon Phi cpus.
+       (ix86_valid_target_attribute_inner_p): Remove Xeon Phi ISAs.
+       (ix86_option_override_internal): Remove Xeon Phi related handlers.
+       * config/i386/i386-rust.cc (ix86_rust_target_cpu_info): Remove Xeon
+       Phi ISAs.
+       * config/i386/i386.cc (ix86_hard_regno_mode_ok): Remove Xeon Phi
+       related handler.
+       * config/i386/i386.h (TARGET_EMIT_VZEROUPPER): Removed.
+       (enum processor_type): Remove Xeon Phi cpus.
+       * config/i386/i386.md (prefetch): Remove PREFETCHWT1.
+       (*prefetch_3dnow): Ditto.
+       (*prefetch_prefetchwt1): Removed.
+       * config/i386/i386.opt: Remove Xeon Phi ISAs.
+       * config/i386/immintrin.h: Ditto.
+       * config/i386/sse.md (VF1_AVX512ER_128_256): Removed.
+       (rsqrt<mode>2): Change iterator from VF1_AVX512ER_128_256 to
+       VF1_128_256.
+       (GATHER_SCATTER_SF_MEM_MODE): Removed.
+       (avx512pf_gatherpf<mode>sf): Ditto.
+       (*avx512pf_gatherpf<VI48_512:mode>sf_mask): Ditto.
+       (avx512pf_gatherpf<mode>df): Ditto.
+       (*avx512pf_gatherpf<VI4_256_8_512:mode>df_mask): Ditto.
+       (avx512pf_scatterpf<mode>sf): Ditto.
+       (*avx512pf_scatterpf<VI48_512:mode>sf_mask): Ditto.
+       (avx512pf_scatterpf<mode>df): Ditto.
+       (*avx512pf_scatterpf<VI4_256_8_512:mode>df_mask): Ditto.
+       (exp2<mode>2): Ditto.
+       (avx512er_exp2<mode><mask_name><round_saeonly_name>): Ditto.
+       (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
+       Ditto.
+       (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto.
+       (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
+       Ditto.
+       (avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
+       (IMOD4): Ditto.
+       (imod4_narrow): Ditto.
+       (mov<mode>): Ditto.
+       (*mov<mode>_internal): Ditto.
+       (avx5124fmaddps_4fmaddps): Ditto.
+       (avx5124fmaddps_4fmaddps_mask): Ditto.
+       (avx5124fmaddps_4fmaddps_maskz): Ditto.
+       (avx5124fmaddps_4fmaddss): Ditto.
+       (avx5124fmaddps_4fmaddss_mask): Ditto.
+       (avx5124fmaddps_4fmaddss_maskz): Ditto.
+       (avx5124fmaddps_4fnmaddps): Ditto.
+       (avx5124fmaddps_4fnmaddps_mask): Ditto.
+       (avx5124fmaddps_4fnmaddps_maskz): Ditto.
+       (avx5124fmaddps_4fnmaddss): Ditto.
+       (avx5124fmaddps_4fnmaddss_mask): Ditto.
+       (avx5124fmaddps_4fnmaddss_maskz): Ditto.
+       (avx5124vnniw_vp4dpwssd): Ditto.
+       (avx5124vnniw_vp4dpwssd_mask): Ditto.
+       (avx5124vnniw_vp4dpwssd_maskz): Ditto.
+       (avx5124vnniw_vp4dpwssds): Ditto.
+       (avx5124vnniw_vp4dpwssds_mask): Ditto.
+       (avx5124vnniw_vp4dpwssds_maskz): Ditto.
+       * config/i386/x86-tune-sched.cc (ix86_issue_rate): Remove Xeon Phi cpus.
+       (ix86_adjust_cost): Ditto.
+       * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Ditto.
+       (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
+       (X86_TUNE_MOVX): Ditto.
+       (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
+       (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
+       (X86_TUNE_FOUR_JUMP_LIMIT): Ditto.
+       (X86_TUNE_USE_INCDEC): Ditto.
+       (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
+       (X86_TUNE_OPT_AGU): Ditto.
+       (X86_TUNE_AVOID_LEA_FOR_ADDR): Ditto.
+       (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE): Ditto.
+       (X86_TUNE_USE_SAHF): Ditto.
+       (X86_TUNE_USE_CLTD): Ditto.
+       (X86_TUNE_USE_BT): Ditto.
+       (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
+       (X86_TUNE_EXPAND_ABS): Ditto.
+       (X86_TUNE_USE_SIMODE_FIOP): Ditto.
+       (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
+       (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
+       (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
+       (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS): Ditto.
+       (X86_TUNE_SLOW_PSHUFB): Ditto.
+       (X86_TUNE_EMIT_VZEROUPPER): Removed.
+       * config/i386/xmmintrin.h (enum _mm_hint): Remove _MM_HINT_ET1.
+       * doc/extend.texi: Remove Xeon Phi.
+       * doc/invoke.texi: Ditto.
+
+2024-05-20  Pan Li  <pan2...@intel.com>
+
+       * dse.cc (get_stored_val): Make sure read_mode/write_mode
+       is valid subreg before gen_lowpart.
+
 2024-05-19  Jeff Law  <j...@ventanamicro.com>
 
        PR target/115142
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 8671e9f826e6..2affb73fdd45 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240520
+20240521
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 15712e9cb05c..dbdb1c7a350e 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,372 @@
+2024-05-20  Bob Duff  <d...@adacore.com>
+
+       * sem_ch12.adb: Misc cleanups and comment fixes.
+       (Check_Overloaded_Formal_Subprogram): Remove the Others_Choice
+       error message.
+       (Others_Choice): Remove this variable; no longer needed.
+       * types.ads (Text_Ptr): Add a range constraint limiting the
+       subtype to values that are actually used. This has the advantage
+       that when the compiler is compiled with validity checks,
+       uninitialized values of subtypes Text_Ptr and Source_Ptr will be
+       caught.
+       * sinput.ads (Sloc_Adjust): Use the base subtype; this is used as
+       an offset, so we need to allow arbitrary negative values.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_ch7.ads (Preload_Finalization_Collection): Delete.
+       * exp_ch7.adb (Allows_Finalization_Collection): Revert change.
+       (Preload_Finalization_Collection): Delete.
+       * opt.ads (Interface_Seen): Likewise.
+       * scng.adb (Scan): Revert latest change.
+       * sem_ch10.adb: Remove clause for Exp_Ch7.
+       (Analyze_Compilation_Unit): Revert latest change.
+       * libgnat/i-c.ads: Use a fully qualified name for the standard "+"
+       operator in the preconditons/postconditions of subprograms.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_aggr.adb (Expand_Record_Aggregate.Component_OK_For_Backend):
+       Also return False for a delayed conditional expression.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * freeze.ads (Check_Compile_Time_Size): Remove obsolete description
+       of usage for the Size_Known_At_Compile_Time flag.
+       * freeze.adb (Check_Compile_Time_Size.Size_Known): In the case where
+       a variant part is present, do not return False if Esize is known.
+       * sem_util.adb (Needs_Secondary_Stack.Caller_Known_Size_Record): Add
+       missing "Start of processing" comment.  Return true if either a size
+       clause or an object size clause has been given for the first subtype
+       of the type.
+
+2024-05-20  Bob Duff  <d...@adacore.com>
+
+       * sinfo.ads: Misc comment corrections and clarifications.
+       The syntax for GENERIC_ASSOCIATION and FORMAL_PACKAGE_ACTUAL_PART
+       was wrong.
+       Emphasize that "others => <>" is not represented as an
+       N_Generic_Association (with or without Box_Present set),
+       and give examples illustrating the various possibilities.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * einfo-utils.ads (Is_Base_Type): Move to Miscellaneous Subprograms
+       section and add description.
+       * fe.h (Is_Base_Type): Declare.
+
+2024-05-20  Gary Dismukes  <dismu...@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): Move condition and call for
+       Resolve_Record_Aggregate in front of code related to calling
+       Resolve_Container_Aggregate (and add test that the aggregate is
+       not homogeneous), and remove special-case testing and call to
+       Resolve_Container_Aggregate for empty aggregates. Also, add error
+       check for an attempt to use "[]" for an aggregate of a record type
+       that does not specify an Aggregate aspect.
+       (Resolve_Record_Aggregate): Remove error check for record
+       aggregates with "[]" (now done by Resolve_Aggregate).
+
+2024-05-20  Gary Dismukes  <dismu...@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): Move condition and call for
+       Resolve_Record_Aggregate in front of code related to calling
+       Resolve_Container_Aggregate (and add test that the aggregate
+       is not homogeneous), and remove special-case testing and call
+       to Resolve_Container_Aggregate for empty aggregates.
+
+2024-05-20  Justin Squirek  <squi...@adacore.com>
+
+       * accessibility.adb (Accessibility_Level): Add cases for 'First
+       and 'Last.
+
+2024-05-20  Justin Squirek  <squi...@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Remove restriction on 'Super
+       for abstract types.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.ads (Attribute_Impl_Def): Fix list of
+       implementation-defined attributes.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.adb (Attribute_12): Add attributes Old,
+       Overlaps_Storage and Result.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Move IF statement that
+       checks restriction No_Implementation_Attributes for Ada 2005,
+       2012 and Ada 2022 attributes inside Comes_From_Source condition
+       that checks the same restriction for Ada 83 attributes.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Remove condition that is
+       already checked by an enclosing IF statement.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.ads (Universal_Type_Attribute): Simplify using
+       array aggregate syntax with discrete choice list.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.ads (Attribute_Impl_Def): Fix style in comment.
+
+2024-05-20  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * libgnarl/s-taprop__linux.adb (Enter_Task): Move setting
+       of thread ID out of Enter_Task.
+       (Initialize): Set thread ID for the environment task.
+       (Create_Task): Remove now unnecessary Unrestricted_Access
+       attribute and add justification for a memory write.
+       * libgnarl/s-taprop__posix.adb: Likewise.
+       * libgnarl/s-taprop__qnx.adb: Likewise.
+       * libgnarl/s-taprop__rtems.adb: Likewise.
+       * libgnarl/s-taprop__solaris.adb: Likewise.
+       * libgnarl/s-taspri__posix.ads: Remove pragma Atomic for
+       Private_Data.Thread, and update documentation comment.
+       * libgnarl/s-taspri__lynxos.ads: Likewise.
+       * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
+       * libgnarl/s-taspri__solaris.ads: Likewise.
+       * libgnarl/s-tporft.adb (Register_Foreign_Thread): Adapt to
+       Enter_Task not setting the thread ID anymore.
+       * libgnarl/s-tassta.adb (Task_Wrapper): Update comment.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_aggr.ads (Is_Delayed_Conditional_Expression): New predicate.
+       * exp_aggr.adb (Convert_To_Assignments.Known_Size): Likewise.
+       (Convert_To_Assignments): Climb the parent chain, looking through
+       qualified expressions and dependent expressions of conditional
+       expressions, to find out whether the expansion may be delayed.
+       Call Known_Size for this in the case of an object declaration.
+       If so, set Expansion_Delayed on the aggregate as well as all the
+       intermediate conditional expressions.
+       (Initialize_Component): Reset the Analyzed flag on an initialization
+       expression that is a conditional expression whose expansion has been
+       delayed.
+       (Is_Delayed_Conditional_Expression): New predicate.
+       * exp_ch3.adb (Expand_N_Object_Declaration): Handle initialization
+       expressions that are conditional expressions whose expansion has
+       been delayed.
+       * exp_ch4.adb (Build_Explicit_Assignment): New procedure.
+       (Expand_Allocator_Expression): Handle initialization expressions
+       that are conditional expressions whose expansion has been delayed.
+       (Expand_N_Case_Expression): Deal with expressions whose expansion
+       has been delayed by waiting for the rewriting of their parent as
+       an assignment statement and then optimizing the assignment.
+       (Expand_N_If_Expression): Likewise.
+       (Expand_N_Qualified_Expression): Do not apply a predicate check to
+       an operand that is a delayed aggregate or conditional expression.
+       * gen_il-gen-gen_nodes.adb (N_If_Expression): Add Expansion_Delayed
+       semantic flag.
+       (N_Case_Expression): Likewise.
+       * sinfo.ads (Expansion_Delayed): Document extended usage.
+
+2024-05-20  Gary Dismukes  <dismu...@adacore.com>
+
+       * exp_aggr.adb (Expand_Container_Aggregate): Add top-level
+       variables Choice_{Lo|Hi} and Int_Choice_{Lo|Hi} used for
+       determining the low and high bounds of component association
+       choices. Replace code for determining whether we have an indexed
+       aggregate with call to new function Sem_Aggr.Is_Indexed_Aggregate.
+       Remove test of whether Empty_Subp is a function, since it must be
+       a function. Move Default and Count_Type to be locals of a new
+       block enclosing the code that creates the object to hold the
+       aggregate length, and set them according to the default and type
+       of the Empty function's parameter when present (and to Empty and
+       Standard_Natural otherwise). Use Siz_Exp for the aggregate length
+       when set, and use Empty's default length when available, and use
+       zero for the length otherwise. In generating the call to the
+       New_Indexed function, use the determined lower and upper bounds if
+       determined earlier by Aggregate_Size, and otherwise compute those
+       from the index type's lower bound and the determined aggregate
+       length. In the case where a call to Empty is generated and the
+       function has a formal parameter, pass the value saved in Siz_Decl
+       (otherwise the parameter list is empty). Remove code specific to
+       making a parameterless call to the Empty function. Extend the code
+       for handling positional container aggregates to account for types
+       that define Assign_Indexed, rather than just Add_Unnamed, and in
+       the case of indexed aggregates, create a temporary object to hold
+       values of the aggregate's key index, and initialize and increment
+       that temporary for each call generated to the Assign_Indexed
+       procedure. For named container aggregates that have key choices
+       given by ranges, call Expand_Range_Component to generate a loop
+       that will call the appropriate insertion procedure for each value
+       of the range. For indexed aggregates with a Component_Associations
+       list, set and use the Assign_Indexed procedure for each component
+       association, whether or not there's an iterator specification.
+       (Add_Range_Size): Add code to determine the low and high bounds of
+       the range and capture those in up-level variables when their value
+       is less than or greater than (respectively) the current minimum
+       and maximum bounds values.
+       (Aggregate_Size): Separately handle the case where a single choice
+       is of a discrete type, and call Add_Range_Size to take its value
+       into consideration for determination of min and max bounds of the
+       aggregate. Add comments in a couple of places.
+       (Build_Siz_Exp): Remove the last sentence and "???" from the
+       comment that talks about accumulating nonstatic sizes, since that
+       sentence seems to be obsolete. Record the low and high bound
+       values in Choice_Lo and Choice_Hi in the case of a nonstatic
+       range.
+       (Expand_Iterated_Component): Set the Defining_Identifier of the
+       iterator specification to the Loop_Id in the
+       N_Iterated_Component_Association case.
+       (Expand_Range_Component): Procedure unnested from the block
+       handling indexed aggregates in Expand_Container_Aggregate, and
+       moved to top level of that procedure so it can also be called for
+       Add_Named cases. A formal parameter Insert_Op is added, and
+       existing calls to this procedure are changed to pass the
+       appropriate insertion procedure's Entity.
+       * sem_aggr.ads: Add with_clause for Sinfo.Nodes.
+       (Is_Indexed_Aggregate): New function for use by
+       Resolve_Container_Aggregate and Expand_Container_Aggregate.
+       * sem_aggr.adb: Add with_clause for Sem_Ch5. Move with_clause for
+       Sinfo.Nodes to sem_aggr.ads.
+       (Is_Indexed_Aggregate): New function to determine whether a
+       container aggregate is a container aggregate (replacing local
+       variable of the same name in Resolve_Container_Aggregate).
+       (Resolve_Iterated_Association): Remove part of comment saying that
+       a Key_Expression is always present. Set Parent field of the copy
+       of a component association with a loop parameter specification. On
+       the setting of Loop_Param_Id, account for a
+       Loop_Parameter_Specification being changed into an
+       Iterator_Specification as a result of being analyzed. Only call
+       Preanalyze_And_Resolve on Key_Expr when a key expression is
+       actually present. Remove loop for handling choices for the case of
+       an N_Component_Association with a Defining_Identifier (there
+       shouldn't be more than one choice in this case, and add an
+       assertion to ensure that). Also add code here to handle the case
+       where the choice is a function call, creating an
+       iterator_specification analyzing it, and call
+       Resolve_Iterated_Association recursively to process it. Add error
+       check to enforce RM22 4.3.5(27), which requires that the type of
+       the loop parameter must be the same as the key type when there is
+       no key expression and the aggregate is an indexed aggregate or has
+       an Add_Named op.
+       (Resolve_Container_Aggregate): In the Add_Unnamed case, call
+       Resolve_Iterated_Association for both
+       N_Iterated_Element_Association and N_Component_Association (rather
+       than just the latter). Remove error check for nonstatic choices in
+       component associations in Add_Named cases (multiple named
+       nonstatic associations are fine except in indexed aggregates).
+       Remove local variable Is_Indexed_Aggregate, replaced with new
+       library-level function of the same name, and add test of
+       Is_Indexed_Aggregate in the case where the aggregate type has an
+       Assign_Indexed operation, as a guard for doing error checks for
+       indexed aggregates. For indexed aggregate resolution, do not call
+       Analyze_And_Resolve on the expression of an
+       N_Component_Association in the "box association" case. Move error
+       checks for indexed aggregates with iterated associations that flag
+       cases where an association is a loop_parameter_specification with
+       an iterator filter or a key expression (violation of RM22
+       4.3.5(28/5)), from the loop that checks for contiguous and
+       nonoverlapping choices and into the preceding association loop
+       after the call to Resolve_Iterated_Association. The RM reference
+       is added to the error-message strings.
+
+2024-05-20  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * libgnarl/s-taprop__linux.adb (Set_Task_Affinity): Fix
+       decision about whether to call CPU_FREE.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_aggr.ads (Convert_Aggr_In_Allocator): Remove Aggr parameter
+       and adjust description.
+       (Convert_Aggr_In_Object_Decl): Adjust description.
+       * exp_aggr.adb (Convert_Aggr_In_Allocator): Remove Aggr parameter
+       and add local variable of the same name instead.  Adjust call to
+       Convert_Array_Aggr_In_Allocator.
+       (Convert_Aggr_In_Object_Decl): Add comment for early return and
+       remove useless inner block statement.
+       (Convert_Array_Aggr_In_Allocator):  Remove Aggr parameter and add
+       local variable of the same name instead.
+       (In_Place_Assign_OK): Move down declarations of local variables.
+       (Convert_To_Assignments): Put all declarations of local variables
+       in the same place.  Fix typo in comment.  Replace T with Full_Typ.
+       * exp_ch4.adb (Expand_Allocator_Expression): Call Unqualify instead
+       of Expression on the qualified expression of the allocator for the
+       sake of consistency.  Adjust call to Convert_Aggr_In_Allocator.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Handle enumeration type with
+       Discard_Names.
+
+2024-05-20  Piotr Trojanek  <troja...@adacore.com>
+
+       * exp_imgv.adb (Expand_Width_Attribute): Fix for 'Width that
+       is computed at run time.
+       * sem_attr.adb (Eval_Attribute): Fix for 'Width that is computed
+       at compilation time.
+
+2024-05-20  Sebastian Poeplau  <poep...@adacore.com>
+
+       * libgnat/s-pooglo.adb (Allocate): Use arithmetic on
+       System.Address to compute the aligned address.
+
+2024-05-20  Steve Baird  <ba...@adacore.com>
+
+       * freeze.adb (Adjust_Esize_For_Alignment): Assert that a valid
+       Alignment specification cannot result in adjusting the given
+       type's Esize to be larger than System_Max_Integer_Size.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In analyzing
+       an Alignment specification, enforce the rule that a specified
+       Alignment value for a discrete or fixed-point type shall not be
+       larger than System_Max_Integer_Size / 8 .
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/g-sothco.ads (In_Addr): Add aspect Universal_Aliasing.
+
+2024-05-20  Jose Ruiz  <r...@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Exclude detection of duplicates
+       because they are detected elsewhere.
+
+2024-05-20  Jose Ruiz  <r...@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Clarify
+       comments.
+       * sem_prag.adb (Analyze_Pragma): Check for duplicates
+       Max_Entry_Queue_Length, Max_Entry_Queue_Depth and Max_Queue_Length
+       for the same protected entry.
+       * sem_util.adb (Get_Max_Queue_Length): Take into account all three
+       representation aspects that can be used to set this restriction.
+       (Has_Max_Queue_Length): Likewise.
+       * doc/gnat_rm/implementation_defined_pragmas.rst:
+       (pragma Max_Queue_Length): Fix pragma in example.
+       * gnat_rm.texi: Regenerate.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/s-finpri.ads (Collection_Node): Move to private part.
+       (Collection_Node_Ptr): Likewise.
+       (Header_Alignment): Change to declaration and move completion to
+       private part.
+       (Header_Size): Likewise.
+       (Lock_Type): Delete.
+       (Finalization_Collection): Move Lock component and remove default
+       value for Finalization_Started component.
+       * libgnat/s-finpri.adb (Initialize): Reorder statements.
+
+2024-05-20  Eric Botcazou  <ebotca...@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst
+       (Universal_Aliasing): Remove reference to No_Strict_Aliasing.
+       * doc/gnat_ugn/gnat_and_program_execution.rst
+       (Optimization and Strict Aliasinng): Simplify first example and
+       make it more consistent with the second.  Add description of the
+       effects of pragma Universal_Aliasing and document new warning
+       issued for unchecked conversions.  Remove obsolete stuff.
+       * gnat_rm.texi: Regenerate.
+       * gnat_ugn.texi: Regenerate.
+
 2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
 
        PR ada/115133
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index efbeea658cba..89ccca27dc49 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,23 @@
+2024-05-20  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/99798
+       * symbol.cc (gfc_release_symbol): Move the condition guarding
+       the handling cyclic references...
+       (cyclic_reference_break_needed): ... here as a new predicate.
+       Remove superfluous parts.  Add a condition preventing any premature
+       release with submodule symbols.
+
+2024-05-20  Tobias Burnus  <tbur...@baylibre.com>
+
+       PR fortran/115150
+       * trans-intrinsic.cc (gfc_conv_intrinsic_bound): Fix SHAPE
+       for zero-size arrays
+
+2024-05-20  Tobias Burnus  <tbur...@baylibre.com>
+
+       * invoke.texi (fcoarray): Link to OpenCoarrays.org;
+       mention libcaf_single.
+
 2024-05-17  Paul Thomas  <pa...@gcc.gnu.org>
 
        PR fortran/114874
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5efa506f8419..2fc028fc392a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,120 @@
+2024-05-21  Gaius Mulley  <gaiusm...@gmail.com>
+
+       PR modula2/115164
+       * gm2/isolib/run/pass/testlowread.mod: New test.
+       * gm2/isolib/run/pass/testwritereal.mod: New test.
+
+2024-05-20  Andrew Pinski  <quic_apin...@quicinc.com>
+
+       PR tree-optimization/115143
+       * gcc.c-torture/compile/pr115143-1.c: New test.
+       * gcc.c-torture/compile/pr115143-2.c: New test.
+       * gcc.c-torture/compile/pr115143-3.c: New test.
+
+2024-05-20  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/99798
+       * gfortran.dg/submodule_33.f08: New test.
+
+2024-05-20  Pengxuan Zheng  <quic_pzh...@quicinc.com>
+
+       PR target/102171
+       * gcc.target/aarch64/pr113573.c: Replace __builtin_aarch64_get_lowv8hi
+       with vget_low_s16.
+       * gcc.target/aarch64/vget_low_2.c: New test.
+       * gcc.target/aarch64/vget_low_2_be.c: New test.
+
+2024-05-20  Steve Baird  <ba...@adacore.com>
+
+       * gnat.dg/specs/alignment2.ads: Adjust.
+       * gnat.dg/specs/alignment2_bis.ads: New test.
+
+2024-05-20  Tobias Burnus  <tbur...@baylibre.com>
+
+       PR fortran/115150
+       * gfortran.dg/shape_12.f90: New test.
+
+2024-05-20  Haochen Jiang  <haochen.ji...@intel.com>
+
+       * g++.dg/other/i386-2.C: Remove Xeon Phi ISAs.
+       * g++.dg/other/i386-3.C: Ditto.
+       * g++.target/i386/mv28.C: Ditto.
+       * gcc.target/i386/builtin_target.c: Ditto.
+       * gcc.target/i386/sse-12.c: Ditto.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-14.c: Ditto.
+       * gcc.target/i386/sse-22.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-26.c: Ditto.
+       * gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Removed.
+       * gcc.target/i386/avx5124fmadd-v4fmaddps-2.c: Ditto.
+       * gcc.target/i386/avx5124fmadd-v4fmaddss-1.c: Ditto.
+       * gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c: Ditto.
+       * gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c: Ditto.
+       * gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c: Ditto.
+       * gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c: Ditto.
+       * gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c: Ditto.
+       * gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c: Ditto.
+       * gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c: Ditto.
+       * gcc.target/i386/avx512er-check.h: Ditto.
+       * gcc.target/i386/avx512er-vexp2pd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vexp2pd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
+       * gcc.target/i386/avx512er-vexp2ps-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28pd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ps-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ps-3.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ps-4.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28pd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ps-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ps-4.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ps-6.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
+       * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto.
+       * gcc.target/i386/pr104448.c: Ditto.
+       * gcc.target/i386/pr82941-2.c: Ditto.
+       * gcc.target/i386/pr82942-2.c: Ditto.
+       * gcc.target/i386/pr82990-1.c: Ditto.
+       * gcc.target/i386/pr82990-3.c: Ditto.
+       * gcc.target/i386/pr82990-6.c: Ditto.
+       * gcc.target/i386/pr82990-7.c: Ditto.
+       * gcc.target/i386/pr89523-5.c: Ditto.
+       * gcc.target/i386/pr89523-6.c: Ditto.
+       * gcc.target/i386/pr91033.c: Ditto.
+       * gcc.target/i386/prefetchwt1-1.c: Ditto.
+
+2024-05-20  Pan Li  <pan2...@intel.com>
+
+       * gcc.target/riscv/rvv/base/bug-6.c: New test.
+
 2024-05-19  Jeff Law  <j...@ventanamicro.com>
 
        PR target/115142

Reply via email to