aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--gcc/ChangeLog483
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/ada/ChangeLog606
-rw-r--r--gcc/analyzer/ChangeLog10
-rw-r--r--gcc/c-family/ChangeLog6
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/fortran/ChangeLog15
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/testsuite/ChangeLog191
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libstdc++-v3/ChangeLog15
13 files changed, 1350 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index cfe02776038..703b3fbb18f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-05-17 Levy Hsu <admin@levyhsu.com>
+
+ * MAINTAINERS: Add myself.
+
2024-05-14 Filip Kastl <fkastl@suse.cz>
* MAINTAINERS: Use tabs between name and email.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c929fdd4358..bfd2d42e287 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,486 @@
+2024-05-19 Jeff Law <jlaw@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 <ebotcazou@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 <roger@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 <palmer@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 <jlaw@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 <zengxiao@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 <zengxiao@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.li@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 <dmalcolm@redhat.com>
+
+ * common.opt.urls: Regenerate to add
+ fdiagnostics-show-event-links.
+
+2024-05-17 Robin Dapp <rdapp@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 <rdapp@ventanamicro.com>
+
+ PR middle-end/113474
+ * internal-fn.cc (expand_vec_cond_mask_optab_fn): Remove
+ force_regs.
+
+2024-05-17 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2out.cc (gen_namespace_die): Use DW_TAG_module for Ada.
+
+2024-05-17 David Malcolm <dmalcolm@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 <ubizjak@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 <aldyh@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 <amonakov@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 <aldyh@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 <rguenther@suse.de>
+
+ PR middle-end/115110
+ * tree-ssa-alias.cc (view_converted_memref_p): Fix.
+
+2024-05-17 Eric Botcazou <ebotcazou@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 <rguenther@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 <oliva@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.li@intel.com>
+
+ * config/riscv/.riscv.cc.swo: Removed.
+ * config/riscv/j: Removed.
+
+2024-05-16 Pan Li <pan2.li@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 <jh@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 <rguenther@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 <rguenther@suse.de>
+
+ * tree-ssa-structalias.cc (get_constraint_for_1): For
+ volatile referenced or decls use ANYTHING.
+
+2024-05-16 Pan Li <pan2.li@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.li@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.li@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 <aldyh@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 <aldyh@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 <rguenther@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 <dmalcolm@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 <dmalcolm@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 <dmalcolm@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 <dmalcolm@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 <dmalcolm@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 <zengxiao@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.liu@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.liu@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 <jlaw@ventanamicro.com>
* config/riscv/riscv-string.cc: Add missing hunk from last change.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 009b2a2312c..563336a826d 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240516
+20240519
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f0ec83e56d3..15712e9cb05 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,609 @@
+2024-05-17 Eric Botcazou <ebotcazou@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 <indus@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 <desplanques@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): Remove workaround and extend
+ comment.
+
+2024-05-17 Eric Botcazou <ebotcazou@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 <baird@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 <ebotcazou@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 <ebotcazou@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 <ebotcazou@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 <ebotcazou@adacore.com>
+
+ * einfo.ads (Materialize_Entity): Document secondary usage.
+
+2024-05-17 Steve Baird <baird@adacore.com>
+
+ * local_restrict.adb (Active_Restriction): When traversing scopes,
+ do not skip over a subprogram body.
+
+2024-05-17 Eric Botcazou <ebotcazou@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 <trojanek@adacore.com>
+
+ * sem_util.adb (Is_Known_On_Entry): Handle constants introduced
+ by validity checks.
+
+2024-05-17 Steve Baird <baird@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 <baird@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 <desplanques@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Improve comments
+ and condition.
+
+2024-05-17 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Fix location of error
+ message.
+
+2024-05-17 Piotr Trojanek <trojanek@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 <ebotcazou@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 <duff@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 <desplanques@adacore.com>
+
+ * sem_aggr.adb (Resolve_Null_Array_Aggregate): Update
+ documentation comments.
+
+2024-05-17 Steve Baird <baird@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 <duff@adacore.com>
+
+ * uname.adb (Get_Unit_Name_String): Move Asserts after
+ Buf is initialized.
+
+2024-05-17 Bob Duff <duff@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 <poeplau@adacore.com>
+
+ * raise-gcc.c: Work around __builtin_code_address_from_pointer
+ if it is unavailable.
+
+2024-05-17 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code) <Gen_Loop>: Copy the
+ initialization expression when unrolling the loop.
+
+2024-05-17 Bob Duff <duff@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 <trojanek@adacore.com>
+
+ * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Remove call
+ to Has_Discriminants; combine ELSIF branches.
+
+2024-05-17 Piotr Trojanek <trojanek@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 <trojanek@adacore.com>
+
+ * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Allow objects
+ of private types with unknown discriminants.
+
+2024-05-17 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Tune repeated
+ testing of type kinds.
+
+2024-05-17 Marc Poulhiès <poulhies@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 <indus@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 <indus@adacore.com>
+
+ * sem_ch3.adb (Analyze_Component_Declaration):
+ Add Range_Checks for Subtype_Indications
+
+2024-05-17 Ronan Desplanques <desplanques@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 <desplanques@adacore.com>
+
+ * exp_aggr.adb (Flatten): Small cleanup.
+
+2024-05-17 Eric Botcazou <ebotcazou@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 <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Attach_Object_To_Master_Node): Remove reference to a
+ transient object in comment.
+
+2024-05-16 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): also reset scope
+ for object declarations.
+
+2024-05-16 Steve Baird <baird@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 <dismukes@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 <squirek@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 <desplanques@adacore.com>
+
+ * sem_util.ads (Check_Function_Writable_Actuals): Fix comment.
+
+2024-05-16 Ronan Desplanques <desplanques@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 <poeplau@adacore.com>
+
+ * adaint.c: New defines for STANDALONE mode.
+
+2024-05-16 Viljar Indus <indus@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 <trojanek@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 <desplanques@adacore.com>
+
+ * checks.adb (Apply_Selected_Length_Checks): Fix reason code.
+
+2024-05-16 Eric Botcazou <ebotcazou@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 <trojanek@adacore.com>
+
+ * sem_ch4.adb (Analyze_If_Expression): Add guard for
+ if_expression without an ELSE part.
+
+2024-05-16 Piotr Trojanek <trojanek@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 <trojanek@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 <desplanques@adacore.com>
+
+ * checks.ads: Fix comments.
+ * checks.adb: Likewise.
+
+2024-05-16 Eric Botcazou <ebotcazou@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 <poulhies@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 <trojanek@adacore.com>
+
+ * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix typo.
+
+2024-05-16 Eric Botcazou <ebotcazou@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 <indus@adacore.com>
+
+ * exp_aggr.adb (Two_Pass_Aggregate_Expansion):
+ Explicitly create new Defining_Iterators for both
+ of the loops.
+
+2024-05-16 Eric Botcazou <ebotcazou@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 <trojanek@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 <desplanques@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): Call Error_Msg_N
+ instead of Error_Msg.
+
+2024-05-16 Steve Baird <baird@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 <ebotcazou@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 <baird@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 <baird@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 <trojanek@adacore.com>
+
+ * gen_il-gen-gen_nodes.adb (N_Procedure_Specification): Remove
+ Aspect_Specifications field.
+
+2024-05-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification): Consistently
+ reuse existing constant where possible.
+
+2024-05-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification): Consistently
+ reuse existing constant where possible.
+
+2024-05-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * aspects.ads (Aspect_Id): Fix ordering.
+
+2024-05-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Move case alternative to match
+ to alphabetic order.
+
+2024-05-16 Piotr Trojanek <trojanek@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 <trojanek@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 <trojanek@adacore.com>
* aspects.ads (Aspect_Id, Boolean_Aspect): Change categorization
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index e44f496712e..31dfcbc469f 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,13 @@
+2024-05-17 David Malcolm <dmalcolm@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 <dmalcolm@redhat.com>
PR analyzer/114899
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index fb09551a9b0..c2c28ff9f1b 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2024-05-17 Eric Botcazou <ebotcazou@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 <polacek@redhat.com>
DR 1693
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7177fdb4022..41cccad75ec 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-17 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/115114
+ * pt.cc (maybe_aggr_guide): Consider bases in the paren init case.
+
2024-05-15 Marek Polacek <polacek@redhat.com>
PR c++/114854
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 3a27c187617..efbeea658cb 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,18 @@
+2024-05-17 Paul Thomas <pault@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 <jakub@redhat.com>
PR c/115103
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 2b1fc6e7b19..3207c169976 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2024-05-16 Joseph Myers <josmyers@redhat.com>
+
+ * sv.po: Update.
+
2024-05-13 Joseph Myers <josmyers@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 d8d4609b4bd..5efa506f841 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,194 @@
+2024-05-19 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/115142
+ * gcc.target/riscv/pr115142.c: New test.
+
+2024-05-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR testsuite/114982
+ * g++.dg/tree-ssa/cxa_atexit-6.C: Skip for Darwin.
+
+2024-05-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * gcc.dg/darwin-weakimport-3.c: Suppress unwind frames.
+
+2024-05-18 Jeff Law <jlaw@ventanamicro.com>
+
+ * gcc.target/riscv/shift-add-1.c: New test.
+
+2024-05-18 Xiao Zeng <zengxiao@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.li@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 <rdapp@ventanamicro.com>
+
+ * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Adjust test.
+
+2024-05-17 Robin Dapp <rdapp@ventanamicro.com>
+
+ * gcc.target/riscv/rvv/autovec/pr113474.c: New test.
+
+2024-05-17 David Malcolm <dmalcolm@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 <ubizjak@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 <pault@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 <ppalka@redhat.com>
+
+ PR c++/115114
+ * g++.dg/cpp2a/class-deduction-aggr15.C: New test.
+
+2024-05-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/tree-ssa/pr115128.c: New test.
+
+2024-05-17 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/torture/20240517-1.c: New testcase.
+
+2024-05-16 Pan Li <pan2.li@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.li@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 <jh@suse.cz>
+
+ * gcc.c-torture/execute/pr113787.c: New test.
+
+2024-05-16 Richard Biener <rguenther@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 <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/alias-38.c: New testcase.
+
+2024-05-16 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * gcc.target/riscv/cmpmemsi-1.c: Drop options.
+ * gcc.target/riscv/cpymemsi-1.c: Likewise.
+
+2024-05-16 Richard Biener <rguenther@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 <dmalcolm@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 <dmalcolm@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 <dmalcolm@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 <zengxiao@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.liu@intel.com>
+
+ * gcc.target/i386/pr114514-shufb.c: New test.
+
+2024-05-16 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/pr114514-shift.c: New test.
+
2024-05-15 David Malcolm <dmalcolm@redhat.com>
PR analyzer/114899
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 2beee7f179a..52eaeb4ea29 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-17 David Malcolm <dmalcolm@redhat.com>
+
+ * include/rich-location.h (class label_effects): New forward decl.
+ (range_label::get_effects): New vfunc.
+
2024-04-30 Jakub Jelinek <jakub@redhat.com>
* init.cc (cpp_init_builtins): Change __STDC_VERSION__
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 0897d7f7db4..f50159d81d1 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-18 Wolfgang Hospital <Wolfgang.Hospital@arcor.de>
+
+ PR target/115065
+ * config/avr/lib1funcs.S (__clzhi2): Tweak.
+
2024-05-10 Georg-Johann Lay <avr@gjlay.de>
PR target/114981
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b3e02cd4bc2..42eddd41231 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,18 @@
+2024-05-17 Björn Schäpers <bjoern@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 <jwakely@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 <jwakely@redhat.com>
PR libstdc++/77704