https://gcc.gnu.org/g:8713d5eec23864e6ddd879191276d67fdd79b9bc

commit r15-653-g8713d5eec23864e6ddd879191276d67fdd79b9bc
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sun May 19 18:15:28 2024 +0000

    Daily bump.

Diff:
---
 ChangeLog               |   4 +
 gcc/ChangeLog           | 483 ++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       | 606 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/analyzer/ChangeLog  |  10 +
 gcc/c-family/ChangeLog  |   6 +
 gcc/cp/ChangeLog        |   5 +
 gcc/fortran/ChangeLog   |  15 ++
 gcc/po/ChangeLog        |   4 +
 gcc/testsuite/ChangeLog | 191 +++++++++++++++
 libcpp/ChangeLog        |   5 +
 libgcc/ChangeLog        |   5 +
 libstdc++-v3/ChangeLog  |  15 ++
 13 files changed, 1350 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index cfe02776038e..703b3fbb18fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-05-17  Levy Hsu  <ad...@levyhsu.com>
+
+       * MAINTAINERS: Add myself.
+
 2024-05-14  Filip Kastl  <fka...@suse.cz>
 
        * MAINTAINERS: Use tabs between name and email.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c929fdd43589..bfd2d42e287d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,486 @@
+2024-05-19  Jeff Law  <j...@ventanamicro.com>
+
+       PR target/115142
+       * config/riscv/riscv.cc (mem_shadd_or_shadd_rtx_p): Make sure
+       shifted argument is a register.
+
+2024-05-19  Eric Botcazou  <ebotca...@adacore.com>
+
+       * optabs-query.cc (can_mult_highpart_p): Test for the existence of
+       a wider mode instead of requiring it.
+
+2024-05-19  Roger Sayle  <ro...@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (popcount<mode>2): Split into...
+       (popcountsi2): define_insn handling SImode popcount.
+       (popcountdi2): define_insn handling DImode popcount, with an
+       explicit truncate:SI to produce an SImode result.
+
+2024-05-18  Palmer Dabbelt  <pal...@rivosinc.com>
+
+       * config/riscv/riscv.opt: Add -mno-fence-tso.
+       * config/riscv/sync-rvwmo.md (mem_thread_fence_rvwmo): Respect
+       -mno-fence-tso.
+       * doc/invoke.texi (RISC-V): Document -mno-fence-tso.
+
+2024-05-18  Jeff Law  <j...@ventanamicro.com>
+
+       * config/riscv/riscv.md: Add new patterns to allow selection
+       between (x << C1) + C2 vs (x + C2') << C1 depending on the
+       cost C2 vs C2'.
+
+2024-05-18  Xiao Zeng  <zengx...@eswincomputing.com>
+
+       * config/riscv/riscv.cc (riscv_legitimize_move): Optimize movbf
+       with Nan-boxing value.
+       * config/riscv/riscv.md (*movhf_softfloat_boxing): Expand movbf
+       with Nan-boxing value.
+       (*mov<HFBF:mode>_softfloat_boxing): Ditto.
+       with Nan-boxing value.
+       (*movbf_softfloat_boxing): Delete abandon pattern.
+
+2024-05-18  Xiao Zeng  <zengx...@eswincomputing.com>
+
+       * config/riscv/riscv-builtins.cc (riscv_init_builtin_types):
+       Modify _Bfloat16 to __bf16.
+       * config/riscv/riscv.cc (riscv_mangle_type): Ditto.
+
+2024-05-18  Pan Li  <pan2...@intel.com>
+
+       PR target/51492
+       PR target/112600
+       * config/riscv/autovec.md (usadd<mode>3): New pattern expand for
+       the unsigned SAT_ADD in vector mode.
+       * config/riscv/riscv-protos.h (riscv_expand_usadd): New func decl
+       to expand usadd<mode>3 pattern.
+       (expand_vec_usadd): Ditto but for vector.
+       * config/riscv/riscv-v.cc (emit_vec_saddu): New func impl to emit
+       the vsadd insn.
+       (expand_vec_usadd): New func impl to expand usadd<mode>3 for vector.
+       * config/riscv/riscv.cc (riscv_expand_usadd): New func impl to
+       expand usadd<mode>3 for scalar.
+       * config/riscv/riscv.md (usadd<mode>3): New pattern expand for
+       the unsigned SAT_ADD in scalar mode.
+       * config/riscv/vector.md: Allow VLS mode for vsaddu.
+
+2024-05-17  David Malcolm  <dmalc...@redhat.com>
+
+       * common.opt.urls: Regenerate to add
+       fdiagnostics-show-event-links.
+
+2024-05-17  Robin Dapp  <rd...@ventanamicro.com>
+
+       * config/riscv/riscv-protos.h (struct common_vector_cost): Add
+       segment_permute cost.
+       * config/riscv/riscv-vector-costs.cc (costs::adjust_stmt_cost):
+       Handle segment loads/stores.
+       * config/riscv/riscv.cc: Initialize segment_permute_[2-8] to 1.
+
+2024-05-17  Robin Dapp  <rd...@ventanamicro.com>
+
+       PR middle-end/113474
+       * internal-fn.cc (expand_vec_cond_mask_optab_fn):  Remove
+       force_regs.
+
+2024-05-17  Tom Tromey  <tro...@adacore.com>
+
+       * dwarf2out.cc (gen_namespace_die): Use DW_TAG_module for Ada.
+
+2024-05-17  David Malcolm  <dmalc...@redhat.com>
+
+       * common.opt (fdiagnostics-show-event-links): New option.
+       * diagnostic-label-effects.h: New file.
+       * diagnostic-path.h (diagnostic_event::connect_to_next_event_p):
+       New pure virtual function.
+       (simple_diagnostic_event::connect_to_next_event_p): Implement it.
+       (simple_diagnostic_event::connect_to_next_event): New.
+       (simple_diagnostic_event::m_connected_to_next_event): New field.
+       (simple_diagnostic_path::connect_to_next_event): New decl.
+       * diagnostic-show-locus.cc: Include "text-art/theme.h" and
+       "diagnostic-label-effects.h".
+       (colorizer::set_cfg_edge): New.
+       (layout::m_fallback_theme): New field.
+       (layout::m_theme): New field.
+       (layout::m_effect_info): New field.
+       (layout::m_link_lhs_state): New enum and field.
+       (layout::m_link_rhs_column): New field.
+       (layout_range::has_in_edge): New.
+       (layout_range::has_out_edge): New.
+       (layout::layout): Add "effect_info" optional param.  Initialize
+       m_theme, m_link_lhs_state, and m_link_rhs_column.
+       (layout::maybe_add_location_range): Remove stray "FIXME" from
+       leading comment.
+       (layout::print_source_line): Replace space after margin with a
+       call to print_leftmost_column.
+       (layout::print_leftmost_column): New.
+       (layout::start_annotation_line): Make non-const.  Gain
+       responsibility for printing the leftmost column after the margin.
+       (layout::print_annotation_line): Drop pp_space, as this is now
+       added by start_annotation_line.
+       (line_label::line_label): Add "has_in_edge" and "has_out_edge"
+       params and initialize...
+       (line_label::m_has_in_edge): New field.
+       (line_label::m_has_out_edge): New field.
+       (layout::print_any_labels): Pass edge information to line_label
+       ctor.  Keep track of in-edges and out-edges, adding visualizations
+       of these links between labels.
+       (layout::print_leading_fixits):  Drop pp_character, as this is now
+       added by start_annotation_line.
+       (layout::print_trailing_fixits): Fix off-by-one errors in column
+       calculation.
+       (layout::move_to_column): Add comment about debugging.
+       (layout::show_ruler): Make non-const.  Drop pp_space calls, as
+       this is now added by start_annotation_line.
+       (layout::print_line): Call print_any_right_to_left_edge_lines.
+       (layout::print_any_right_to_left_edge_lines): New.
+       (layout::update_any_effects): New.
+       (gcc_rich_location::add_location_if_nearby): Initialize
+       loc_range.m_label.
+       (diagnostic_context::maybe_show_locus): Add "effects" param and
+       pass it to diagnostic_context::show_locus.
+       (diagnostic_context::show_locus): Add "effects" param, passing it
+       to layout's ctor.  Call update_any_effects on the layout after
+       printing the lines.
+       (selftest::test_layout_x_offset_display_utf8): Update expected
+       result for eliminated trailing newline.
+       (selftest::test_layout_x_offset_display_utf8): Likewise.
+       (selftest::test_layout_x_offset_display_tab): Likewise.
+       * diagnostic.cc (diagnostic_context::initialize): Initialize
+       m_source_printing.show_event_links_p.
+       (simple_diagnostic_path::connect_to_next_event): New.
+       (simple_diagnostic_event::simple_diagnostic_event): Initialize
+       m_connected_to_next_event.
+       * diagnostic.h (class diagnostic_source_effect_info): New forward
+       decl.
+       (diagnostic_source_printing_options::show_event_links_p): New
+       field.
+       (diagnostic_context::maybe_show_locus): Add optional "effect_info"
+       param.
+       (diagnostic_context::show_locus): Add "effect_info" param.
+       (diagnostic_show_locus): Add optional "effect_info" param.
+       * doc/invoke.texi: Add -fno-diagnostics-show-event-links.
+       * lto-wrapper.cc (merge_and_complain): Add
+       OPT_fdiagnostics_show_event_links to switch.
+       (append_compiler_options): Likewise.
+       (append_diag_options): Likewise.
+       * opts-common.cc (decode_cmdline_options_to_array): Add
+       "-fno-diagnostics-show-event-links" to -fdiagnostics-plain-output.
+       * opts.cc (common_handle_option): Add case for
+       OPT_fdiagnostics_show_event_links.
+       * text-art/theme.cc (ascii_theme::get_cppchar): Handle
+       cell_kind::CFG_*.
+       (unicode_theme::get_cppchar): Likewise.
+       * text-art/theme.h (theme::cell_kind): Add CFG_*.
+       * toplev.cc (general_init): Initialize
+       global_dc->m_source_printing.show_event_links_p.
+       * tree-diagnostic-path.cc: Define INCLUDE_ALGORITHM,
+       INCLUDE_MEMORY, and INCLUDE_STRING.  Include
+       "diagnostic-label-effects.h".
+       (path_label::path_label): Initialize m_effects.
+       (path_label::get_effects): New.
+       (class path_label::path_label_effects): New.
+       (path_label::m_effects): New field.
+       (class per_thread_summary): Add "friend struct event_range;".
+       (per_thread_summary::per_thread_summary): Initialize m_last_event.
+       (per_thread_summary::m_last_event): New field.
+       (struct event_range::per_source_line_info): New.
+       (event_range::event_range): Make "t" non-const.  Add
+       "show_event_links" param and use it to initialize
+       m_show_event_links.  Add info for initial event.
+       (event_range::get_per_source_line_info): New.
+       (event_range::maybe_add_event): Verify compatibility of the new
+       label and existing labels with respect to the link-printing code.
+       Update per-source-line info when an event is added.
+       (event_range::print): Add"effect_info" param and pass to
+       diagnostic_show_locus.
+       (event_range::m_per_thread_summary): Make non-const.
+       (event_range::m_source_line_info_map): New field.
+       (event_range::m_show_event_links): New field.
+       (path_summary::path_summary): Add "show_event_links" optional
+       param, passing it to event_range ctor calls. Update
+       pts.m_last_event.
+       (thread_event_printer::print_swimlane_for_event_range): Add
+       "effect_info" param and pass it to range->print.
+       (print_path_summary_as_text): Keep track of the column for any
+       out-edges at the end of printing each event_range and use as
+       the leading in-edge for the next event_range.
+       (default_tree_diagnostic_path_printer): Pass in show_event_links_p
+       to path_summary ctor.
+       (selftest::path_events_have_column_data_p): New.
+       (class selftest::control_flow_test): New.
+       (selftest::test_control_flow_1): New.
+       (selftest::test_control_flow_2): New.
+       (selftest::test_control_flow_3): New.
+       (selftest::assert_cfg_edge_path_streq): New.
+       (ASSERT_CFG_EDGE_PATH_STREQ): New macro.
+       (selftest::test_control_flow_4): New.
+       (selftest::test_control_flow_5): New.
+       (selftest::test_control_flow_6): New.
+       (selftest::control_flow_tests): New.
+       (selftest::tree_diagnostic_path_cc_tests): Disable colorization on
+       global_dc's printer.  Convert event_pp to a std::unique_ptr. Call
+       control_flow_tests via for_each_line_table_case.
+       (gen_command_line_string): Likewise.
+
+2024-05-17  Uros Bizjak  <ubiz...@gmail.com>
+
+       PR middle-end/112600
+       * config/i386/mmx.md (<insn><mode>3): New expander.
+       * config/i386/sse.md
+       (<sse2_avx2>_<sat_plusminus:insn><mode>3<mask_name>):
+       Rename expander to <sat_plusminus:insn><mode>3<mask_name>.
+       (<umaxmin:code><mode>3): Update for rename.
+       * config/i386/i386-builtin.def: Update for rename.
+
+2024-05-17  Aldy Hernandez  <al...@redhat.com>
+
+       PR middle-end/115131
+       * value-range.cc (prange::intersect): Set VARYING if intersection
+       of bitmasks made the range span the entire domain.
+       (range_tests_misc): New test.
+
+2024-05-17  Alexander Monakov  <amona...@ispras.ru>
+
+       PR c++/114480
+       * tree-into-ssa.cc (prune_unused_phi_nodes): Add dfs_out entries
+       to the 'defs' array in the reverse order.
+
+2024-05-17  Aldy Hernandez  <al...@redhat.com>
+
+       PR middle-end/115128
+       * ipa-cp.cc (ipa_value_range_from_jfunc): Check for undefined_p
+       before looking at type.
+       (propagate_vr_across_jump_function): Same.
+
+2024-05-17  Richard Biener  <rguent...@suse.de>
+
+       PR middle-end/115110
+       * tree-ssa-alias.cc (view_converted_memref_p): Fix.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * expmed.h (expmed_mult_highpart_optab): Declare.
+       * expmed.cc (expmed_mult_highpart_optab): Remove static keyword.
+       Do not assume that OP1 is a constant integer.  Fix pasto.
+       (expmed_mult_highpart): Pass OP1 narrowed to MODE in all the calls
+       to expmed_mult_highpart_optab.
+       * optabs-query.cc (can_mult_highpart_p): Use 2 for integer widening
+       and shift subsequent values accordingly.
+       * optabs.cc (expand_mult_highpart): Call expmed_mult_highpart_optab
+       when can_mult_highpart_p returns 2 and adjust to above change.
+
+2024-05-17  Richard Biener  <rguent...@suse.de>
+
+       * tree-ssa-alias.h (pt_solution_includes_const_pool): Declare.
+       * tree-ssa-alias.cc (ptrs_compare_unequal): Use
+       pt_solution_includes_const_pool.
+       * tree-ssa-structalias.cc (pt_solution_includes_const_pool): New.
+
+2024-05-17  Alexandre Oliva  <ol...@adacore.com>
+
+       * common.opt (freg-struct-return): Make it explicitly
+       fpcc-struct-return's NegativeAlias.  Copy Optimization...
+       (freg-struct-return): ... here.
+
+2024-05-17  Pan Li  <pan2...@intel.com>
+
+       * config/riscv/.riscv.cc.swo: Removed.
+       * config/riscv/j: Removed.
+
+2024-05-16  Pan Li  <pan2...@intel.com>
+
+       * 
config/riscv/autovec-opt.md(*vcond_mask_len_popcount_<VB_VLS:mode><P:mode>):
+       New pattern of vcond_mask_len_popcount for vector bool mode.
+       * config/riscv/autovec.md (vcond_mask_len_<mode>): New pattern of
+       vcond_mask_len for vector bool mode.
+       (cbranch<mode>4): New pattern for vector bool mode.
+       * config/riscv/vector-iterators.md: Add new unspec UNSPEC_SELECT_MASK.
+       * config/riscv/vector.md (@pred_popcount<VB:mode><P:mode>): Add VLS mode
+       to popcount pattern.
+       (@pred_popcount<VB_VLS:mode><P:mode>): Ditto.
+
+2024-05-16  Jan Hubicka  <j...@suse.cz>
+
+       PR ipa/113787
+       * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): Do not
+       look into TARGET_MEM_REFS with constant opreand 0.
+
+2024-05-16  Richard Biener  <rguent...@suse.de>
+
+       PR tree-optimization/13962
+       PR tree-optimization/96564
+       * tree-ssa-alias.h (pt_solution::const_pool): New flag.
+       * tree-ssa-alias.cc (ptrs_compare_unequal): Handle pointer-pointer
+       compares.
+       (dump_points_to_solution): Dump the const_pool flag, fix guard
+       of flag dumping.
+       * gimple-pretty-print.cc (pp_points_to_solution): Likewise.
+       * tree-ssa-structalias.cc (find_what_var_points_to): Set
+       the const_pool flag for STRING.
+       (pt_solution_ior_into): Handle the const_pool flag.
+       (ipa_escaped_pt): Initialize it.
+
+2024-05-16  Richard Biener  <rguent...@suse.de>
+
+       * tree-ssa-structalias.cc (get_constraint_for_1): For
+       volatile referenced or decls use ANYTHING.
+
+2024-05-16  Pan Li  <pan2...@intel.com>
+
+       * tree-vect-loop.cc (vect_gen_loop_len_mask): New func to gen
+       the loop len mask.
+       * tree-vect-stmts.cc (vectorizable_early_exit): Invoke the
+       vect_gen_loop_len_mask for 1 or more stmt(s).
+       * tree-vectorizer.h (vect_gen_loop_len_mask): New func decl
+       for vect_gen_loop_len_mask.
+
+2024-05-16  Pan Li  <pan2...@intel.com>
+
+       PR target/51492
+       PR target/112600
+       * tree-vect-patterns.cc (gimple_unsigned_integer_sat_add): New
+       func decl generated by match.pd match.
+       (vect_recog_sat_add_pattern): New func impl to recog the pattern
+       for unsigned SAT_ADD.
+
+2024-05-16  Pan Li  <pan2...@intel.com>
+
+       PR target/51492
+       PR target/112600
+       * internal-fn.cc (commutative_binary_fn_p): Add type IFN_SAT_ADD
+       to the return true switch case(s).
+       * internal-fn.def (SAT_ADD):  Add new signed optab SAT_ADD.
+       * match.pd: Add unsigned SAT_ADD match(es).
+       * optabs.def (OPTAB_NL): Remove fixed-point limitation for
+       us/ssadd.
+       * tree-ssa-math-opts.cc (gimple_unsigned_integer_sat_add): New
+       extern func decl generated in match.pd match.
+       (match_saturation_arith): New func impl to match the saturation arith.
+       (math_opts_dom_walker::after_dom_children): Try match saturation
+       arith when IOR expr.
+
+2024-05-16  Aldy Hernandez  <al...@redhat.com>
+
+       PR tree-optimization/114985
+       * gimple-range-op.cc: Remove pointers_handled_p.
+       * ipa-cp.cc (ipa_value_range_from_jfunc): Skip range folding if
+       operands don't match.
+       (propagate_vr_across_jump_function): Same.
+       * range-op-mixed.h: Remove pointers_handled_p and tweak
+       operand_check_p.
+       * range-op-ptr.cc (range_operator::pointers_handled_p): Remove.
+       (pointer_plus_operator::pointers_handled_p): Remove.
+       (class operator_pointer_diff): Remove pointers_handled_p.
+       (operator_pointer_diff::pointers_handled_p): Remove.
+       (operator_identity::pointers_handled_p): Remove.
+       (operator_cst::pointers_handled_p): Remove.
+       (operator_cast::pointers_handled_p): Remove.
+       (operator_min::pointers_handled_p): Remove.
+       (operator_max::pointers_handled_p): Remove.
+       (operator_addr_expr::pointers_handled_p): Remove.
+       (operator_bitwise_and::pointers_handled_p): Remove.
+       (operator_bitwise_or::pointers_handled_p): Remove.
+       (operator_equal::pointers_handled_p): Remove.
+       (operator_not_equal::pointers_handled_p): Remove.
+       (operator_lt::pointers_handled_p): Remove.
+       (operator_le::pointers_handled_p): Remove.
+       (operator_gt::pointers_handled_p): Remove.
+       (operator_ge::pointers_handled_p): Remove.
+       * range-op.cc (TRAP_ON_UNHANDLED_POINTER_OPERATORS): Remove.
+       (range_op_handler::lhs_op1_relation): Remove pointers_handled_p checks.
+       (range_op_handler::lhs_op2_relation): Same.
+       (range_op_handler::op1_op2_relation): Same.
+       * range-op.h: Remove RO_* declarations.
+
+2024-05-16  Aldy Hernandez  <al...@redhat.com>
+
+       PR tree-optimization/114985
+       * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Use
+       boolean type when folding conditionals.
+
+2024-05-16  Richard Biener  <rguent...@suse.de>
+
+       PR tree-optimization/79958
+       PR tree-optimization/109087
+       PR tree-optimization/100314
+       PR tree-optimization/114774
+       * tree-ssa-dse.cc (dse_classify_store): New forwarder.
+       (dse_classify_store): Add arguments cnt and visited, recurse
+       to track multiple paths when we end up with multiple defs.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * text-art/theme.cc (ascii_theme::get_cppchar): Add
+       cell_kind::INTERPROCEDURAL_*.
+       (unicode_theme::get_cppchar): Likewise.
+       * text-art/theme.h (theme::cell_kind): Likewise.
+       * tree-diagnostic-path.cc:
+       (thread_event_printer::print_swimlane_for_event_range): Use the
+       above to get characters for indicating interprocedural stack
+       depth activity, falling back to ascii.
+       (selftest::test_interprocedural_path_1): Test with both ascii
+       and unicode themes.
+       (selftest::test_interprocedural_path_2): Likewise.
+       (selftest::test_recursion): Likewise.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * tree-diagnostic-path.cc: Include "text-art/theme.h".
+       (path_label::get_text): If the event has
+       diagnostic_event::VERB_danger, and the theme enables emojis, then
+       add a warning emoji between the event number and the event text.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * tree-diagnostic-path.cc (per_thread_summary::interprocedural_p):
+       New.
+       (thread_event_printer::print_swimlane_for_event_range): Don't
+       indent and print the stack depth line if this thread's events are
+       purely intraprocedural.
+       (selftest::test_intraprocedural_path): Update expected output.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * diagnostic-path.h: Update leading comment to reflect
+       intraprocedural cases.  Fix typo in comment.
+       * doc/invoke.texi: Update intraprocedural example.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * diagnostic-show-locus.cc: Define INCLUDE_VECTOR and include
+       "text-art/types.h".
+       (line_label::line_label): Drop "policy" argument.  Use
+       styled_string::calc_canvas_width when computing m_display_width,
+       as this skips SGR codes.
+       (layout::print_any_labels): Update for line_label ctor change.
+       (selftest::test_one_liner_labels_utf8): Update expected text to
+       reflect that the labels can fit on one line if we don't get
+       confused by SGR colorization codes.
+
+2024-05-16  Xiao Zeng  <zengx...@eswincomputing.com>
+
+       * common/config/riscv/riscv-common.cc:
+       (riscv_implied_info): Add zvfbfwma item.
+       (riscv_ext_version_table): Ditto.
+       (riscv_ext_flag_table): Ditto.
+       * config/riscv/riscv.opt:
+       (MASK_ZVFBFWMA): New macro.
+       (TARGET_ZVFBFWMA): Ditto.
+
+2024-05-16  liuhongt  <hongtao....@intel.com>
+
+       PR target/114514
+       * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial):
+       Set d.one_operand_p to true when TARGET_SSSE3.
+
+2024-05-16  liuhongt  <hongtao....@intel.com>
+
+       PR target/114514
+       * config/i386/i386-expand.cc
+       (ix86_expand_vec_shift_qihi_constant): Optimize ashift >> 7 to
+       vpcmpgtb.
+       (ix86_expand_vecop_qihi_partial): Ditto.
+
 2024-05-15  Jeff Law  <j...@ventanamicro.com>
 
        * config/riscv/riscv-string.cc: Add missing hunk from last change.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 009b2a2312c8..563336a826d0 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240516
+20240519
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f0ec83e56d39..15712e9cb05c 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,609 @@
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       PR ada/115133
+       * libgnarl/s-osinte__solaris.ads (mutex_t): Fix typo.
+       * libgnarl/s-taprop__solaris.adb (Record_Lock): Add conversion.
+       (Check_Sleep): Likewise.
+       (Record_Wakeup): Likewise.
+       (Check_Unlock): Likewise.
+       * libgnarl/s-tasini.adb (Initialize_RTS_Lock): Add pragma Import
+       on the overlaid variable.
+       (Finalize_RTS_Lock): Likewise.
+       (Acquire_RTS_Lock): Likewise.
+       (Release_RTS_Lock): Likewise.
+       * libgnarl/s-taspri__solaris.ads (To_RTS_Lock_Ptr): New instance
+       of Ada.Unchecked_Conversion.
+       * libgnat/s-oslock__solaris.ads: Add with clause for
+       Ada.Unchecked_Conversion.
+       (array_type_9): Add missing name qualification.
+       (record_type_3): Likewise.
+       (mutex_t): Fix formatting.
+
+2024-05-17  Viljar Indus  <in...@adacore.com>
+
+       * exp_aggr.adb (Expand_Container_Aggregate):
+       Derive the size for iterable aggregates in the case of
+       one-dimensional array objects.
+
+2024-05-17  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * exp_aggr.adb (Aggr_Size_OK): Remove workaround and extend
+       comment.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * bindgen.adb (Gen_Adainit): Generate declaration and call to the
+       imported procedure __gnat_tasking_runtime_initialize if need be.
+       * libgnat/s-soflin.ads (Locking Soft-Links): Add commentary.
+       * libgnarl/s-tasini.adb (Tasking_Runtime_Initialize): New procedure
+       exported as __gnat_tasking_runtime_initialize.  Initialize RTS_Lock
+       manipulation routines here instead of...
+       (Init_RTS): ...here.
+
+2024-05-17  Steve Baird  <ba...@adacore.com>
+
+       * scng.adb (scan): When checking for an unprocessed preprocessor
+       directive, take into account the preprocessor's rules about case
+       insensitivity and about white space between the '#' and the
+       keyword.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnarl/s-taspri__mingw.ads: Add clause for System.OS_Interface.
+       (Private_Data): Change type of Thread component.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/g-alvevi.ads: Add pragma Universal_Aliasing for all the
+       view types.
+       * libgnat/s-stratt.ads: Likewise for Fat_Pointer type.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-oslock$(objext).
+       (LIBGNAT_TARGET_PAIRS): Use s-oslock__dummy.ads by default.
+       Set specific s-oslock.ads source file for all the platforms.
+       * exp_ch7.ads (Preload_Finalization_Collection): New procedure.
+       * exp_ch7.adb (Allows_Finalization_Collection): Return False if
+       System.Finalization_Primitives has not been preloaded.
+       (Preload_Finalization_Collection): New procedure.
+       * opt.ads (Interface_Seen): New boolean variable.
+       * s-oscons-tmplt.c: Use "N" string for pragma Style_Checks.
+       * scng.adb (Scan): Set Interface_Seen upon seeing "interface".
+       * sem_ch10.adb: Add clause for Exp_Ch7.
+       (Analyze_Compilation_Unit): Call Preload_Finalization_Collection
+       after the context of the unit is analyzed.
+       * libgnarl/a-rttiev.adb: Add with clause for System.OS_Locks and
+       alphabetize others.
+       (Event_Queue_Lock): Adjust qualified name of subtype.
+       * libgnarl/s-osinte__aix.ads: Add with clause for System.OS_Locks
+       and change pthread_mutex_t into a local subtype.
+       * libgnarl/s-osinte__android.ads: Likewise.
+       * libgnarl/s-osinte__darwin.ads: Likewise.
+       * libgnarl/s-osinte__dragonfly.ads: Likewise.
+       * libgnarl/s-osinte__freebsd.ads: Likewise.
+       * libgnarl/s-osinte__gnu.ads: Likewise.
+       * libgnarl/s-osinte__hpux-dce.ads: Likewise.
+       * libgnarl/s-osinte__hpux.ads: Add Likewise.
+       * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
+       * libgnarl/s-osinte__linux.ads: Likewise.
+       * libgnarl/s-osinte__lynxos178e.ads: Likewise.
+       * libgnarl/s-osinte__qnx.ads: Likewise.
+       * libgnarl/s-osinte__rtems.ads: Likewise.
+       * libgnarl/s-osinte__mingw.ads: Add with clause for System.OS_Locks
+       and change CRITICAL_SECTION into a local subtype.  Add declarations
+       for imported procedures dealing with CRITICAL_SECTION.
+       * libgnarl/s-osinte__solaris.ads: Add with clause for System.OS_Locks
+       and change mutex_t into a local subtype.
+       * libgnarl/s-osinte__vxworks.ads: Add missing blank line.
+       * libgnarl/s-taprop.ads: Alphabetize clauses and package renamings.
+       Use qualified name for RTS_Lock throughout.
+       * libgnarl/s-taprop__dummy.adb: Add use clause for System.OS_Locks
+       and alphabetize others.
+       * libgnarl/s-taprop__hpux-dce.adb: Likewise.
+       * libgnarl/s-taprop__linux.adb: Likewise.
+       * 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-taprop__vxworks.adb: Likewise.
+       * libgnarl/s-taprop__mingw.adb: Likewise.  Remove declarations for
+       imported procedures dealing with CRITICAL_SECTION.
+       * libgnarl/s-tarest.adb: Add with clause for System.OS_Locks and
+       alphabetize others.
+       (Global_Task_Lock): Adjust qualified name of subtype.
+       * libgnarl/s-tasini.adb: Add clause for System.OS_Locks.
+       (Initialize_RTS_Lock): New procedure.
+       (Finalize_RTS_Lock): Likewise.
+       (Acquire_RTS_Lock): Likewise.
+       (Release_RTS_Lock): Likewise.
+       (Init_RTS): Add compile-time assertions for RTS_Lock types.
+       Set the soft links for the RTS lock manipulation routines.
+       * libgnarl/s-taspri__dummy.ads: Add with clause for System.OS_Locks.
+       (RTS_Lock): Delete and adjust throughout accordingly.
+       * libgnarl/s-taspri__hpux-dce.ads: Likewise.
+       * libgnarl/s-taspri__lynxos.ads: Likewise.
+       * libgnarl/s-taspri__mingw.ads: Likewise.
+       * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
+       * libgnarl/s-taspri__posix.ads: Likewise.
+       * libgnarl/s-taspri__solaris.ads: Likewise.
+       * libgnarl/s-taspri__vxworks.ads: Likewise.
+       * libgnat/s-finpri.ads: Add clause for System.OS_Locks.
+       (Finalization_Collection): Change type of Lock.
+       * libgnat/s-finpri.adb (Initialize): Call Initialize_RTS_Lock.
+       (Lock_Collection): Call Acquire_RTS_Lock.
+       (Unlock_Collection): Call Release_RTS_Lock.
+       * libgnat/s-oslock__dummy.ads: New file.
+       * libgnat/s-oslock__hpux-dce.ads: Likewise.
+       * libgnat/s-oslock__mingw.ads: Likewise.
+       * libgnat/s-oslock__posix.ads: Likewise.
+       * libgnat/s-oslock__solaris.ads: Likewise.
+       * libgnat/s-oslock__vxworks.ads: Likewise.
+       * libgnat/s-soflin.ads (Null_Set_Address): New null procedure.
+       (Initialize_RTS_Lock): New soft link.
+       (Finalize_RTS_Lock): Likewise.
+       (Acquire_RTS_Lock): Likewise.
+       (Release_RTS_Lock): Likewise.
+       * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case,
+       call Apply_Predicate_Check on the resulting access value if need be.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * einfo.ads (Materialize_Entity): Document secondary usage.
+
+2024-05-17  Steve Baird  <ba...@adacore.com>
+
+       * local_restrict.adb (Active_Restriction): When traversing scopes,
+       do not skip over a subprogram body.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnarl/s-taprop__dummy.adb (Initialize_Lock): Fix formatting.
+       * libgnarl/s-taprop__linux.adb (RTS_Lock_Ptr): Delete.
+       (Init_Mutex): Rename into...
+       (Initialize_Lock): ...this.
+       (Initialize_Lock [Lock]): Call above procedure.
+       (Initialize_Lock [RTS_Lock]): Likewise.
+       (Initialize_TCB): Likewise.
+       * libgnarl/s-taprop__posix.adb (Initialize_Lock): New procedure
+       factored out from the other two homonyms.
+       (Initialize_Lock [Lock]): Call above procedure.
+       (Initialize_Lock [RTS_Lock]): Likewise.
+       * libgnarl/s-taprop__qnx.adb (RTS_Lock_Ptr): Delete.
+       (Init_Mutex): Rename into...
+       (Initialize_Lock): ...this.
+       (Initialize_Lock [Lock]): Call above procedure.
+       (Initialize_Lock [RTS_Lock]): Likewise.
+       (Initialize_TCB): Likewise.
+       * libgnarl/s-taprop__rtems.adb (Initialize_Lock): New procedure
+       factored out from the other two homonyms.
+       (Initialize_Lock [Lock]): Call above procedure.
+       (Initialize_Lock [RTS_Lock]): Likewise.
+
+2024-05-17  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_util.adb (Is_Known_On_Entry): Handle constants introduced
+       by validity checks.
+
+2024-05-17  Steve Baird  <ba...@adacore.com>
+
+       * libgnat/a-direct.adb (Start_Search_Internal): Do not call
+       Modification_Time for a special file; declare a Calendar.Time
+       constant No_Time and use that instead.
+
+2024-05-17  Steve Baird  <ba...@adacore.com>
+
+       * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Add
+       Has_Predicates test for a scalar component to match what is
+       already done for other kinds of components.
+
+2024-05-17  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Improve comments
+       and condition.
+
+2024-05-17  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Fix location of error
+       message.
+
+2024-05-17  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Move to
+       Sem_Util, so it can be used from GNATprove.
+       * sem_util.ads (Is_Unconstrained_Or_Tagged_Item): Move from
+       Sem_Prag; spec.
+       * sem_util.adb (Is_Unconstrained_Or_Tagged_Item): Move from
+       Sem_Prag; body.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_pakd.adb (Create_Packed_Array_Impl_Type): For non-bit-packed
+       array types, propagate the aliased property of the component.
+       (Install_PAT): Set fields on the implicit base type of an array.
+       * libgnat/a-stream.ads (private part): Add pragma Universal_Aliasing
+       for Stream_Element.
+       * libgnat/g-alleve.ads: Add pragma Universal_Aliasing for all the
+       vector types.
+       * libgnat/g-alleve__hard.ads: Likewise.
+
+2024-05-17  Bob Duff  <d...@adacore.com>
+
+       * bcheck.adb (Check_Consistency_Of_Sdep): Split out new procedure.
+       Add check for special case of subprogram spec that no longer
+       exists.
+       (Check_Consistency): Call Check_Consistency_Of_Sdep, except when
+       Reified_Child_Spec is True. No need for "goto Continue" or "exit
+       Sdep_Loop".
+       * ali.ads (Subunit_Name, Unit_Name): Change the type to
+       Unit_Name_Type. Add a comment pointing to the ALI file
+       documentation, because it's in a somewhat-surprising place.
+       * ali.adb (Scan_ALI): Subunit_Name and Unit_Name are now
+       Unit_Name_Type. Remove comment explaining why Name_Find is used;
+       Name_Find is the usual case. Do not remove the "%s" or "%b" from
+       the Unit_Name. We need to be able to distinguish specs and bodies.
+       This is also necessary to obey the invariant of Unit_Name_Type.
+       * binde.adb (Write_Closure): Subunit_Name is now Unit_Name_Type.
+       * clean.adb (Clean_Executables): Likewise.
+
+2024-05-17  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * sem_aggr.adb (Resolve_Null_Array_Aggregate): Update
+       documentation comments.
+
+2024-05-17  Steve Baird  <ba...@adacore.com>
+
+       * sem_util.adb (Has_Some_Controlled_Component): Fix a bug which
+       causes (in some cases involving a Disable_Controlled aspect
+       specification) Needs_Finalization to return different answers for
+       one type depending on whether the function is called before or
+       after the type is frozen.
+       * libgnat/a-coorse.ads: Type Control_Reference_Type gets an Adjust
+       procedure.
+       * libgnat/a-cborse.ads: Likewise.
+       * libgnat/a-ciorse.ads: Likewise
+       * libgnat/a-coorse.adb:
+       (Finalize): Reclaim allocated Key_Type object.
+       (Adjust): New procedure; prevent sharing of non-null Key_Access
+       values by allocating a copy.
+       * libgnat/a-cborse.adb: Likewise.
+       * libgnat/a-ciorse.adb: Likewise.
+
+2024-05-17  Bob Duff  <d...@adacore.com>
+
+       * uname.adb (Get_Unit_Name_String): Move Asserts after
+       Buf is initialized.
+
+2024-05-17  Bob Duff  <d...@adacore.com>
+
+       * ali-util.adb (Read_Withed_ALIs): Minor reformatting.
+       * bindo-units.adb (Corresponding_Body): Add assert.
+       (Corresponding_Spec): Likewise.
+       * uname.adb: Clean up assertions, use available functions.
+       Get_Spec_Name/Get_Body_Name can assert that N obeys the
+       conventions for Unit_Name_Type (end in "%s" or "%b").
+
+2024-05-17  Sebastian Poeplau  <poep...@adacore.com>
+
+       * raise-gcc.c: Work around __builtin_code_address_from_pointer
+       if it is unavailable.
+
+2024-05-17  Marc Poulhiès  <poulh...@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code) <Gen_Loop>: Copy the
+       initialization expression when unrolling the loop.
+
+2024-05-17  Bob Duff  <d...@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Operation): Call
+       Create_Extra_Formals, so that the caller will have an extra
+       "constrained" parameter, which will be checked on assignment in
+       the callee, and will be passed in by the caller.
+
+2024-05-17  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Remove call
+       to Has_Discriminants; combine ELSIF branches.
+
+2024-05-17  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_ch7.adb (New_Private_Type): Simplify setting of
+       Is_Constrained flag.
+       * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Simplify
+       detection of private types with no discriminant.
+
+2024-05-17  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Allow objects
+       of private types with unknown discriminants.
+
+2024-05-17  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Tune repeated
+       testing of type kinds.
+
+2024-05-17  Marc Poulhiès  <poulh...@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst: Fix
+       copy/paste.
+       * gnat_rm.texi: Regenerate.
+       * gnat_ugn.texi: Regenerate.
+
+2024-05-17  Viljar Indus  <in...@adacore.com>
+
+       * sem_ch3.adb (Analyze_Component_Declaration):
+       Apply range checks only for Scalar_Types to
+       ensure that they have the Scalar_Range attribute.
+
+2024-05-17  Viljar Indus  <in...@adacore.com>
+
+       * sem_ch3.adb (Analyze_Component_Declaration):
+       Add Range_Checks for Subtype_Indications
+
+2024-05-17  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Case_Expression): Remove call to
+       Relocate_Node.
+       * sem_attr.adb (Analyze_Attribute): Likewise.
+
+2024-05-17  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * exp_aggr.adb (Flatten): Small cleanup.
+
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute) <Attribute_Size>: Remove special
+       processing for pragma Compile_Time_{Warning,Error}.
+       (Eval_Attribute.Compile_Time_Known_Attribute): Set Is_Static on the
+       resulting value if In_Compile_Time_Warning_Or_Error is set.
+       (Eval_Attribute.Full_Type): New helper function.
+       (Eval_Attribute): Call Full_Type for type attributes.  Add handling
+       of Object_Size and adjust that of Max_Size_In_Storage_Elements in
+       the non-static case.
+
+2024-05-16  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_ch7.adb (Attach_Object_To_Master_Node): Remove reference to a
+       transient object in comment.
+
+2024-05-16  Marc Poulhiès  <poulh...@adacore.com>
+
+       * exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): also reset scope
+       for object declarations.
+
+2024-05-16  Steve Baird  <ba...@adacore.com>
+
+       * checks.adb (Expr_Known_Valid): Return True for a static expression.
+       * exp_util.adb (Adjust_Condition): No validity check needed for a
+       condition if it is an expression for which a validity check has
+       already been generated.
+
+2024-05-16  Gary Dismukes  <dismu...@adacore.com>
+
+       * libgnat/a-coinve.ads (type Vector): In the Aggregate aspect for
+       this type, the Empty operation is changed to denote the Empty
+       function, rather than the Empty_Vector constant.
+       * exp_aggr.adb (Expand_Container_Aggregate): Remove code for
+       handling the case where the Empty_Subp denotes a constant object,
+       which should never happen (and add an assertion that Empty_Subp
+       must denote a function).
+       * sem_ch13.adb (Valid_Empty): No longer allow the entity to be an
+       E_Constant, and require the (optional) parameter of an Empty
+       function to be of a signed integer type (rather than any integer
+       type).
+
+2024-05-16  Justin Squirek  <squi...@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst: Add entry for
+       Super attribute.
+       * accessibility.adb (Accessibility_Level): Add handling for Super.
+       * exp_attr.adb (Expand_N_Attribute_Reference): Add entry for
+       Super.
+       * sem_attr.adb (Analyze_Attribute): Create a case to handle the
+       semantic checking and expansion for Super.
+       (Eval_Attribute): Add entry for Super.
+       * sem_attr.ads: Add entry for Super.
+       * sem_util.adb (Is_Aliased_View, Is_Variable): Add case to handle
+       references to 'Super.
+       * snames.ads-tmpl: Register Name_Super and Attribute_Super.
+       * gnat_rm.texi: Regenerate.
+
+2024-05-16  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * sem_util.ads (Check_Function_Writable_Actuals): Fix comment.
+
+2024-05-16  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * sem_res.adb (Resolve_Case_Expression): Add length check
+       insertion.
+       * exp_ch4.adb (Expand_N_Case_Expression): Add handling of nodes
+       known to raise Constraint_Error.
+
+2024-05-16  Sebastian Poeplau  <poep...@adacore.com>
+
+       * adaint.c: New defines for STANDALONE mode.
+
+2024-05-16  Viljar Indus  <in...@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+       If the spec is not present for a subprogram body then
+       check if the body definiton was created for a protected
+       procedure.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * exp_cg.adb (Generate_CG_Output): Remove code for ignored ghost
+       entities that applied to subprogram calls.
+       (Register_CG_Node): Skip ignored ghost entities, both calls
+       and tagged types, when they are registered.
+
+2024-05-16  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * checks.adb (Apply_Selected_Length_Checks): Fix reason code.
+
+2024-05-16  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/s-finpri.adb (Raise_From_Controlled_Operation): New
+       declaration of imported procedure moved from...
+       (Finalize_Master): ...there.
+       (Finalize): Call Raise_From_Controlled_Operation instead of
+       Reraise_Occurrence to propagate the exception, if any.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_ch4.adb (Analyze_If_Expression): Add guard for
+       if_expression without an ELSE part.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * exp_ch13.adb (Expand_N_Free_Statement): After analysis, the
+       new temporary has the type of its Object_Definition and the new
+       occurrence of this temporary has this type as well; simplify.
+       * sem_util.adb
+       (Indirect_Temp_Value): Remove redundant call to Set_Etype;
+       simplify.
+       (Is_Access_Type_For_Indirect_Temp): Add missing body header.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_util.adb (Is_Known_On_Entry): Check whether condition and
+       dependent expressions of an if_expression are known on entry.
+
+2024-05-16  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * checks.ads: Fix comments.
+       * checks.adb: Likewise.
+
+2024-05-16  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/s-finpri.ads: Add use type clause for Storage_Offset.
+       (Header_Alignment): Turn into an expression function.
+       (Header_Size): Likewise.
+       * libgnat/s-finpri.adb: Remove use type clause for Storage_Offset.
+       (Header_Alignment): Delete.
+       (Header_Size): Likewise.
+
+2024-05-16  Marc Poulhiès  <poulh...@adacore.com>
+
+       * exp_ch7.adb (Unnest_Loop::Fixup_Inner_Scopes): detect a new
+       problematic pattern and fixup the scope accordingly.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix typo.
+
+2024-05-16  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/s-finpri.ads (Header_Alignment): New function.
+       (Header_Size): Adjust description.
+       (Master_Node): Put Finalize_Address as first component.
+       (Collection_Node): Likewise.
+       * libgnat/s-finpri.adb (Header_Alignment): New function.
+       (Header_Size): Return the object size in storage units.
+       * libgnat/s-stposu.ads (Adjust_Controlled_Dereference): Replace
+       collection node with header in description.
+       * libgnat/s-stposu.adb (Adjust_Controlled_Dereference): Likewise.
+       (Allocate_Any_Controlled): Likewise.  Pass the maximum of the
+       specified alignment and that of the header to the allocator.
+       (Deallocate_Any_Controlled): Likewise to the deallocator.
+
+2024-05-16  Viljar Indus  <in...@adacore.com>
+
+       * exp_aggr.adb (Two_Pass_Aggregate_Expansion):
+       Explicitly create new Defining_Iterators for both
+       of the loops.
+
+2024-05-16  Eric Botcazou  <ebotca...@adacore.com>
+
+       * sem_ch6.adb (Check_Private_Overriding): Implement the second part
+       of RM 3.9.3(10) consistently in both cases.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * erroutc.adb (Set_Msg_Insertion_Reserved_Word): Fix casing for
+       CUDA appearing in error message strings.
+       (Set_Msg_Str): Likewise for CUDA being a part of a Name_Id.
+
+2024-05-16  Ronan Desplanques  <desplanq...@adacore.com>
+
+       * exp_ch4.adb (Expand_Composite_Equality): Call Error_Msg_N
+       instead of Error_Msg.
+
+2024-05-16  Steve Baird  <ba...@adacore.com>
+
+       * exp_attr.adb (Build_And_Insert_Type_Attr_Subp): Further tweaking
+       of the point where a compiler-generated Put_Image or streaming
+       subprogram is to be inserted in the tree. If one such subprogram
+       calls another (as is often the case with, for example, Put_Image
+       procedures for composite type and for a component type thereof),
+       then we want to avoid use-before-definition problems that can
+       result from inserting the caller ahead of the callee.
+
+2024-05-16  Eric Botcazou  <ebotca...@adacore.com>
+
+       * libgnat/s-finpri.ads (Lock_Type): New modular type.
+       (Collection_Node): Add Enclosing_Collection component.
+       (Finalization_Collection): Add Lock component.
+       * libgnat/s-finpri.adb: Add clauses for System.Atomic_Primitives.
+       (Attach_Object_To_Collection): Lock and unlock the collection.
+       Save a pointer to the enclosing collection in the node.
+       (Detach_Object_From_Collection): Lock and unlock the collection.
+       (Finalize): Likewise.
+       (Initialize): Initialize the lock.
+       (Lock_Collection): New procedure.
+       (Unlock_Collection): Likewise.
+
+2024-05-16  Steve Baird  <ba...@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Expand existing checks for
+       generic formal types for which Is_Generic_Type returns False. In
+       that case, mark the attribute reference as nonstatic.
+
+2024-05-16  Steve Baird  <ba...@adacore.com>
+
+       * sem_util.adb (Copy_Node_With_Replacement): Add call to
+       Copy_Dimensions so that any dimension information associated with
+       the copied node is also associated with the resulting copy.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * gen_il-gen-gen_nodes.adb (N_Procedure_Specification): Remove
+       Aspect_Specifications field.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specification): Consistently
+       reuse existing constant where possible.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specification): Consistently
+       reuse existing constant where possible.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * aspects.ads (Aspect_Id): Fix ordering.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Move case alternative to match
+       to alphabetic order.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix casing
+       (this primarily fixes a style, because the capitalization will
+       not be preserved by the error-reporting machinery anyway).
+       * sem_ch13.adb (Analyze_User_Aspect_Aspect_Specification): Fix
+       casing in error message.
+
+2024-05-16  Piotr Trojanek  <troja...@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Fix
+       documentation.
+       * sem_prag.adb: Fix comments.
+       * gnat_rm.texi: Regenerate.
+
 2024-05-14  Piotr Trojanek  <troja...@adacore.com>
 
        * aspects.ads (Aspect_Id, Boolean_Aspect): Change categorization
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index e44f496712ee..31dfcbc469f5 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,13 @@
+2024-05-17  David Malcolm  <dmalc...@redhat.com>
+
+       * checker-event.h (checker_event::connect_to_next_event_p):
+       Implement new diagnostic_event::connect_to_next_event_p vfunc.
+       (start_cfg_edge_event::connect_to_next_event_p): Likewise.
+       (start_consolidated_cfg_edges_event::connect_to_next_event_p):
+       Likewise.
+       * infinite-loop.cc (class looping_back_event): New subclass.
+       (infinite_loop_diagnostic::add_final_event): Use it.
+
 2024-05-15  David Malcolm  <dmalc...@redhat.com>
 
        PR analyzer/114899
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index fb09551a9b08..c2c28ff9f1b0 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2024-05-17  Eric Botcazou  <ebotca...@adacore.com>
+
+       * c-ada-spec.cc (bitfield_used): Move around.
+       (packed_layout): Likewise.
+       (dump_ada_array_type): Do not put "aliased" for a packed layout.
+
 2024-05-15  Marek Polacek  <pola...@redhat.com>
 
        DR 1693
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7177fdb4022a..41cccad75ec5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-17  Patrick Palka  <ppa...@redhat.com>
+
+       PR c++/115114
+       * pt.cc (maybe_aggr_guide): Consider bases in the paren init case.
+
 2024-05-15  Marek Polacek  <pola...@redhat.com>
 
        PR c++/114854
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 3a27c1876176..efbeea658cba 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,18 @@
+2024-05-17  Paul Thomas  <pa...@gcc.gnu.org>
+
+       PR fortran/114874
+       * gfortran.h: Add 'assoc_name_inferred' to gfc_namespace.
+       * match.cc (gfc_match_select_type): Set 'assoc_name_inferred'
+       in select type namespace if the selector has inferred type.
+       * primary.cc (gfc_match_varspec): If a select type temporary
+       is apparently scalar and a left parenthesis has been detected,
+       check the current namespace has 'assoc_name_inferred' set. If
+       so, set inferred_type.
+       * resolve.cc (resolve_variable): If the namespace of a select
+       type temporary is marked with 'assoc_name_inferred' call
+       gfc_fixup_inferred_type_refs to ensure references are OK.
+       (gfc_fixup_inferred_type_refs): Catch invalid array refs..
+
 2024-05-15  Jakub Jelinek  <ja...@redhat.com>
 
        PR c/115103
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 2b1fc6e7b193..3207c1699766 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2024-05-16  Joseph Myers  <josmy...@redhat.com>
+
+       * sv.po: Update.
+
 2024-05-13  Joseph Myers  <josmy...@redhat.com>
 
        * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d8d4609b4bd9..5efa506f8419 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,194 @@
+2024-05-19  Jeff Law  <j...@ventanamicro.com>
+
+       PR target/115142
+       * gcc.target/riscv/pr115142.c: New test.
+
+2024-05-19  Iain Sandoe  <i...@sandoe.co.uk>
+
+       PR testsuite/114982
+       * g++.dg/tree-ssa/cxa_atexit-6.C: Skip for Darwin.
+
+2024-05-19  Iain Sandoe  <i...@sandoe.co.uk>
+
+       * gcc.dg/darwin-weakimport-3.c: Suppress unwind frames.
+
+2024-05-18  Jeff Law  <j...@ventanamicro.com>
+
+       * gcc.target/riscv/shift-add-1.c: New test.
+
+2024-05-18  Xiao Zeng  <zengx...@eswincomputing.com>
+
+       * gcc.target/riscv/_Bfloat16-nanboxing.c: Move to...
+       * gcc.target/riscv/__bf16-nanboxing.c: ...here.
+       * gcc.target/riscv/bf16_arithmetic.c: Modify _Bfloat16 to __bf16.
+       * gcc.target/riscv/bf16_call.c: Ditto.
+       * gcc.target/riscv/bf16_comparison.c: Ditto.
+       * gcc.target/riscv/bf16_float_libcall_convert.c: Ditto.
+       * gcc.target/riscv/bf16_integer_libcall_convert.c: Ditto.
+
+2024-05-18  Pan Li  <pan2...@intel.com>
+
+       PR target/51492
+       PR target/112600
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary.h: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: New test.
+       * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: New test.
+       * gcc.target/riscv/sat_arith.h: New test.
+       * gcc.target/riscv/sat_u_add-1.c: New test.
+       * gcc.target/riscv/sat_u_add-2.c: New test.
+       * gcc.target/riscv/sat_u_add-3.c: New test.
+       * gcc.target/riscv/sat_u_add-4.c: New test.
+       * gcc.target/riscv/sat_u_add-run-1.c: New test.
+       * gcc.target/riscv/sat_u_add-run-2.c: New test.
+       * gcc.target/riscv/sat_u_add-run-3.c: New test.
+       * gcc.target/riscv/sat_u_add-run-4.c: New test.
+       * gcc.target/riscv/scalar_sat_binary.h: New test.
+
+2024-05-17  Robin Dapp  <rd...@ventanamicro.com>
+
+       * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Adjust test.
+
+2024-05-17  Robin Dapp  <rd...@ventanamicro.com>
+
+       * gcc.target/riscv/rvv/autovec/pr113474.c: New test.
+
+2024-05-17  David Malcolm  <dmalc...@redhat.com>
+
+       * gcc.dg/analyzer/event-links-ascii.c: New test.
+       * gcc.dg/analyzer/event-links-color.c: New test.
+       * gcc.dg/analyzer/event-links-disabled.c: New test.
+       * gcc.dg/analyzer/event-links-unicode.c: New test.
+
+2024-05-17  Uros Bizjak  <ubiz...@gmail.com>
+
+       PR middle-end/112600
+       * gcc.target/i386/pr112600-1a.c: New test.
+       * gcc.target/i386/pr112600-1b.c: New test.
+
+2024-05-17  Paul Thomas  <pa...@gcc.gnu.org>
+
+       PR fortran/114874
+       * gfortran.dg/pr114874_1.f90: New test for valid code.
+       * gfortran.dg/pr114874_2.f90: New test for invalid code.
+
+2024-05-17  Patrick Palka  <ppa...@redhat.com>
+
+       PR c++/115114
+       * g++.dg/cpp2a/class-deduction-aggr15.C: New test.
+
+2024-05-17  Aldy Hernandez  <al...@redhat.com>
+
+       * gcc.dg/tree-ssa/pr115128.c: New test.
+
+2024-05-17  Richard Biener  <rguent...@suse.de>
+
+       * gcc.dg/torture/20240517-1.c: New testcase.
+
+2024-05-16  Pan Li  <pan2...@intel.com>
+
+       * gcc.dg/vect/slp-mask-store-1.c: Add pragma novector as it will
+       have 2 times LOOP VECTORIZED in RISC-V.
+       * gcc.dg/vect/vect-early-break_124-pr114403.c: Xfail for the
+       riscv backend.
+       * lib/target-supports.exp: Add RISC-V backend.
+
+2024-05-16  Pan Li  <pan2...@intel.com>
+
+       * gcc.target/riscv/rvv/autovec/early-break-1.c: New test.
+       * gcc.target/riscv/rvv/autovec/early-break-2.c: New test.
+
+2024-05-16  Jan Hubicka  <j...@suse.cz>
+
+       * gcc.c-torture/execute/pr113787.c: New test.
+
+2024-05-16  Richard Biener  <rguent...@suse.de>
+
+       PR tree-optimization/13962
+       PR tree-optimization/96564
+       * gcc.dg/tree-ssa/alias-39.c: New testcase.
+       * g++.dg/vect/pr68145.cc: Use -fno-tree-pta to avoid UB
+       to manifest in transforms no longer vectorizing this testcase
+       for an ICE.
+
+2024-05-16  Richard Biener  <rguent...@suse.de>
+
+       * gcc.dg/tree-ssa/alias-38.c: New testcase.
+
+2024-05-16  Christoph Müllner  <christoph.muell...@vrull.eu>
+
+       * gcc.target/riscv/cmpmemsi-1.c: Drop options.
+       * gcc.target/riscv/cpymemsi-1.c: Likewise.
+
+2024-05-16  Richard Biener  <rguent...@suse.de>
+
+       PR tree-optimization/79958
+       PR tree-optimization/109087
+       PR tree-optimization/100314
+       PR tree-optimization/114774
+       * gcc.dg/tree-ssa/ssa-dse-48.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-dse-49.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-dse-50.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-dse-51.c: Likewise.
+       * gcc.dg/graphite/pr80906.c: Avoid DSE of last data reference
+       in loop.
+       * g++.dg/ipa/devirt-24.C: Adjust for extra DSE.
+       * g++.dg/warn/Wuninitialized-pr107919-1.C: Use more important
+       -O2 optimization level, -O1 regresses.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: Update expected
+       output to use unicode for depth indication.
+       * gcc.dg/analyzer/out-of-bounds-diagram-1-unicode.c: Likewise.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: Update expected
+       output to include warning emoji.
+       * gcc.dg/analyzer/warning-emoji.c: New test.
+
+2024-05-16  David Malcolm  <dmalc...@redhat.com>
+
+       * c-c++-common/analyzer/allocation-size-multiline-1.c: Update
+       expected results for purely intraprocedural path.
+       * c-c++-common/analyzer/allocation-size-multiline-2.c: Likewise.
+       * c-c++-common/analyzer/allocation-size-multiline-3.c: Likewise.
+       * c-c++-common/analyzer/analyzer-verbosity-0.c: Likewise.
+       * c-c++-common/analyzer/analyzer-verbosity-1.c: Likewise.
+       * c-c++-common/analyzer/analyzer-verbosity-2.c: Likewise.
+       * c-c++-common/analyzer/analyzer-verbosity-3.c: Likewise.
+       * c-c++-common/analyzer/malloc-macro-inline-events.c: Likewise.
+       Doing so for this file requires a rewrite since the paths
+       prefixing the "in expansion of macro" lines become the only thing
+       on their line and so are no longer pruned by multiline.exp logic
+       for pruning extra content on non-blank lines.
+       * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Likewise.
+       * c-c++-common/analyzer/setjmp-2.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-9.c: Likewise.
+       * gcc.dg/analyzer/out-of-bounds-multiline-2.c: Likewise.
+       * gcc.dg/plugin/diagnostic-test-paths-2.c: Likewise.
+
+2024-05-16  Xiao Zeng  <zengx...@eswincomputing.com>
+
+       * gcc.target/riscv/arch-37.c: New test.
+       * gcc.target/riscv/arch-38.c: New test.
+       * gcc.target/riscv/predef-36.c: New test.
+       * gcc.target/riscv/predef-37.c: New test.
+
+2024-05-16  liuhongt  <hongtao....@intel.com>
+
+       * gcc.target/i386/pr114514-shufb.c: New test.
+
+2024-05-16  liuhongt  <hongtao....@intel.com>
+
+       * gcc.target/i386/pr114514-shift.c: New test.
+
 2024-05-15  David Malcolm  <dmalc...@redhat.com>
 
        PR analyzer/114899
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 2beee7f179a3..52eaeb4ea297 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-17  David Malcolm  <dmalc...@redhat.com>
+
+       * include/rich-location.h (class label_effects): New forward decl.
+       (range_label::get_effects): New vfunc.
+
 2024-04-30  Jakub Jelinek  <ja...@redhat.com>
 
        * init.cc (cpp_init_builtins): Change __STDC_VERSION__
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 0897d7f7db45..f50159d81d19 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-18  Wolfgang Hospital  <wolfgang.hospi...@arcor.de>
+
+       PR target/115065
+       * config/avr/lib1funcs.S (__clzhi2): Tweak.
+
 2024-05-10  Georg-Johann Lay  <a...@gjlay.de>
 
        PR target/114981
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b3e02cd4bc29..42eddd412312 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,18 @@
+2024-05-17  Björn Schäpers  <bjo...@hazardy.de>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_BACKTACE): Add check for
+       tlhelp32.h, matching libbacktrace.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
+2024-05-17  Jonathan Wakely  <jwak...@redhat.com>
+
+       PR libstdc++/115119
+       * include/bits/unicode.h (_Iterator::operator++(int)): Fix typo
+       in increment expression.
+       * testsuite/ext/unicode/grapheme_view.cc: Check post-increment
+       on view's iterator.
+
 2024-05-15  Jonathan Wakely  <jwak...@redhat.com>
 
        PR libstdc++/77704

Reply via email to