https://gcc.gnu.org/g:350d627d5ee6abf23ede3f8a3b23348caab81fe3

commit r15-3313-g350d627d5ee6abf23ede3f8a3b23348caab81fe3
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Fri Aug 30 00:19:54 2024 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 516 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       | 120 +++++++++++
 gcc/c/ChangeLog         |   5 +
 gcc/cp/ChangeLog        |  27 +++
 gcc/fortran/ChangeLog   |  12 ++
 gcc/testsuite/ChangeLog |  67 +++++++
 7 files changed, 748 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 062ca3001f3a..acf05c3de80c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,519 @@
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116419
+       * diagnostic-event-id.h (diagnostic_event_id_t::zero_based): New.
+       * diagnostic-format-sarif.cc: Include "pretty-print-format-impl.h"
+       and "pretty-print-urlifier.h".
+       (sarif_result::sarif_result): Add param "idx_within_parent".
+       (sarif_result::get_index_within_parent): New accessor.
+       (sarif_result::m_idx_within_parent): New field.
+       (sarif_code_flow::sarif_code_flow): New ctor.
+       (sarif_code_flow::get_parent): New accessor.
+       (sarif_code_flow::get_index_within_parent): New accessor.
+       (sarif_code_flow::m_parent): New field.
+       (sarif_code_flow::m_thread_id_map): New field.
+       (sarif_code_flow::m_thread_flows_arr): New field.
+       (sarif_code_flow::m_all_tfl_objs): New field.
+       (sarif_thread_flow::sarif_thread_flow): Add "parent" and
+       "idx_within_parent" params.
+       (sarif_thread_flow::get_parent): New accessor.
+       (sarif_thread_flow::get_index_within_parent): New accessor.
+       (sarif_thread_flow::m_parent): New field.
+       (sarif_thread_flow::m_idx_within_parent): New field.
+       (sarif_thread_flow_location::sarif_thread_flow_location): New
+       ctor.
+       (sarif_thread_flow_location::get_parent): New accessor.
+       (sarif_thread_flow_location::get_index_within_parent): New
+       accessor.
+       (sarif_thread_flow_location::m_parent): New field.
+       (sarif_thread_flow_location::m_idx_within_parent): New field.
+       (sarif_builder::get_code_flow_for_event_ids): New accessor.
+       (class sarif_builder::sarif_token_printer): New.
+       (sarif_builder::m_token_printer): New member.
+       (sarif_builder::m_next_result_idx): New field.
+       (sarif_builder::m_current_code_flow): New field.
+       (sarif_code_flow::get_or_append_thread_flow): New.
+       (sarif_code_flow::get_thread_flow): New.
+       (sarif_code_flow::add_location): New.
+       (sarif_code_flow::get_thread_flow_loc_obj): New.
+       (sarif_thread_flow::add_location): Create the new
+       sarif_thread_flow_location internally, rather than passing
+       it in as a parm so that we can keep track of its index in
+       the array.  Return a reference to it.
+       (sarif_builder::sarif_builder): Initialize m_token_printer,
+       m_next_result_idx, and m_current_code_flow.
+       (sarif_builder::on_report_diagnostic): Pass index to
+       make_result_object.
+       (sarif_builder::make_result_object): Add "idx_within_parent" param
+       and pass to sarif_result ctor.  Pass code flow index to call to
+       make_code_flow_object.
+       (make_sarif_url_for_event): New.
+       (sarif_builder::make_code_flow_object): Add "idx_within_parent"
+       param and pass it to sarif_code_flow ctor.  Reimplement walking
+       of events so that we first create threadFlow objects for each
+       thread, then populate them with threadFlowLocation objects, so
+       that the IDs work.  Set m_current_code_flow whilst creating the
+       latter, so that we can create correct URIs for "%@".
+       (sarif_builder::make_thread_flow_location_object): Replace with...
+       (sarif_builder::populate_thread_flow_location_object): ...this.
+       (sarif_output_format::get_builder): New accessor.
+       (sarif_begin_embedded_link): New.
+       (sarif_end_embedded_link): New.
+       (sarif_builder::sarif_token_printer::print_tokens): New.
+       (diagnostic_output_format_init_sarif): Add "fmt" param; use it to
+       set the token printer and output format for the context.
+       (diagnostic_output_format_init_sarif_stderr): Move responsibility
+       for setting the context's output format to within
+       diagnostic_output_format_init_sarif.
+       (diagnostic_output_format_init_sarif_file): Likewise.
+       (diagnostic_output_format_init_sarif_stream): Likewise.
+       (test_sarif_diagnostic_context::test_sarif_diagnostic_context):
+       Likewise.
+       (selftest::test_make_location_object): Provide an idx for the
+       result.
+       (selftest::get_result_from_log): New.
+       (selftest::get_message_from_log): New.
+       (selftest::test_message_with_embedded_link): New test.
+       (selftest::diagnostic_format_sarif_cc_tests): Call it.
+       * pretty-print-format-impl.h: Include "diagnostic-event-id.h".
+       (pp_token::kind): Add "event_id".
+       (struct pp_token_event_id): New.
+       (is_a_helper <pp_token_event_id *>::test): New.
+       (is_a_helper <const pp_token_event_id *>::test): New.
+       * pretty-print.cc (pp_token::dump): Handle kind::event_id.
+       (pretty_printer::format): Update handling of "%@" in phase 2
+       so that we add a pp_token_event_id, rather that the text "(N)".
+       (default_token_printer): Handle pp_token::kind::event_id by
+       printing the text "(N)".
+
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * diagnostic.cc (diagnostic_context::report_diagnostic): Don't
+       pass m_urlifier to pp_format, as urlification now happens in
+       phase 3.
+       * dump-context.h (class dump_pretty_printer): Update leading
+       comment.
+       (dump_pretty_printer::emit_items): Drop decl.
+       (dump_pretty_printer::set_optinfo): New.
+       (class dump_pretty_printer::stashed_item): Delete class.
+       (class dump_pretty_printer::custom_token_printer): New class.
+       (dump_pretty_printer::format_decoder_cb): Convert param from
+       const char ** to pp_token_list &.
+       (dump_pretty_printer::decode_format): Likewise.
+       (dump_pretty_printer::stash_item): Likewise.
+       (dump_pretty_printer::emit_any_pending_textual_chunks): Drop decl.
+       (dump_pretty_printer::m_stashed_items): Delete field.
+       (dump_pretty_printer::m_token_printer): New member data.
+       * dumpfile.cc (struct wrapped_optinfo_item): New.
+       (dump_pretty_printer::dump_pretty_printer): Update for dropping
+       of field m_stashed_items and new field m_token_printer.
+       (dump_pretty_printer::emit_items): Delete; we now use
+       pp_output_formatted_text..
+       (dump_pretty_printer::emit_any_pending_textual_chunks): Delete.
+       (dump_pretty_printer::stash_item): Convert param from
+       const char ** to pp_token_list &.
+       (dump_pretty_printer::format_decoder_cb): Likewise.
+       (dump_pretty_printer::decode_format): Likewise.
+       (dump_pretty_printer::custom_token_printer::print_tokens): New.
+       
(dump_pretty_printer::custom_token_printer::emit_any_pending_textual_chunks):
+       New.
+       (dump_context::dump_printf_va): Call set_optinfo on the
+       dump_pretty_printer.  Replace call to emit_items with a call to
+       pp_output_formatted_text.
+       * opt-problem.cc (opt_problem::opt_problem): Replace call to
+       emit_items with call to set_optinfo and call to
+       pp_output_formatted_text.
+       * pretty-print-format-impl.h (struct pp_token): New.
+       (struct pp_token_text): New.
+       (is_a_helper <pp_token_text *>::test): New.
+       (is_a_helper <const pp_token_text *>::test): New.
+       (struct pp_token_begin_color): New.
+       (is_a_helper <pp_token_begin_color *>::test): New.
+       (is_a_helper <const pp_token_begin_color *>::test): New.
+       (struct pp_token_end_color): New.
+       (struct pp_token_begin_quote): New.
+       (struct pp_token_end_quote): New.
+       (struct pp_token_begin_url): New.
+       (is_a_helper <pp_token_begin_url*>::test): New.
+       (is_a_helper <const pp_token_begin_url*>::test): New.
+       (struct pp_token_end_url): New.
+       (struct pp_token_custom_data): New.
+       (is_a_helper <pp_token_custom_data *>::test): New.
+       (is_a_helper <const pp_token_custom_data *>::test): New.
+       (class pp_token_list): New.
+       (chunk_info::get_args): Drop.
+       (chunk_info::get_quoting_info): Drop.
+       (chunk_info::get_token_lists): New accessor.
+       (chunk_info::append_formatted_chunk): Add obstack & param.
+       (chunk_info::dump): New decls.
+       (chunk_info::m_args): Convert element type from const char * to
+       pp_token_list *.  Rewrite/update comment.
+       (chunk_info::m_quotes): Drop field.
+       * pretty-print-markup.h (class pp_token_list): New forward decl.
+       (pp_markup::context::context): Drop urlifier param; add
+       formatted_token_list param.
+       (pp_markup::context::push_back_any_text): New decl.
+       (pp_markup::context::m_urlifier): Drop field.
+       (pp_markup::context::m_formatted_token_list): New field.
+       * pretty-print-urlifier.h: Update comment.
+       * pretty-print.cc: Define INCLUDE_MEMORY.  Include
+       "make-unique.h".
+       (default_token_printer): New forward decl.
+       (obstack_append_string): Delete.
+       (urlify_quoted_string): Delete.
+       (pp_token::pp_token): New.
+       (pp_token::dump): New.
+       (allocate_object): New.
+       (class quoting_info): Delete.
+       (pp_token::operator new): New.
+       (pp_token::operator delete): New.
+       (pp_token_list::operator new): New.
+       (pp_token_list::operator delete): New.
+       (pp_token_list::pp_token_list): New.
+       (pp_token_list::~pp_token_list): New.
+       (pp_token_list::push_back_text): New.
+       (pp_token_list::push_back): New.
+       (pp_token_list::push_back_list): New.
+       (pp_token_list::pop_front): New.
+       (pp_token_list::remove_token): New.
+       (pp_token_list::insert_after): New.
+       (pp_token_list::replace_custom_tokens): New.
+       (pp_token_list::merge_consecutive_text_tokens): New.
+       (pp_token_list::apply_urlifier): New.
+       (pp_token_list::dump): New.
+       (chunk_info::append_formatted_chunk): Add obstack & param and use
+       it to reimplement in terms of token lists.
+       (chunk_info::pop_from_output_buffer): Drop m_quotes.
+       (chunk_info::on_begin_quote): Delete.
+       (chunk_info::dump): New.
+       (chunk_info::on_end_quote): Delete.
+       (push_back_any_text): New.
+       (pretty_printer::format): Drop "urlifier" param and quoting_info
+       logic.  Convert "formatters" and "args" from const ** to
+       pp_token_list **.  Reimplement so that rather than just
+       accumulating a text buffer in the chunk_obstack for each arg,
+       instead also accumulate a pp_token_list and pp_tokens for each
+       arg.
+       (auto_obstack::operator obstack &): New.
+       (quoting_info::handle_phase_3): Delete.
+       (pp_output_formatted_text): Reimplement in terms of manipulations
+       of pp_token_lists, rather than char buffers.  Call
+       default_token_printer, or m_token_printer's print_tokens vfunc.
+       (default_token_printer): New.
+       (pretty_printer::pretty_printer): Initialize m_token_printer in
+       both ctors.
+       (pp_markup::context::begin_quote): Reimplement to use token list.
+       (pp_markup::context::end_quote): Likewise.
+       (pp_markup::context::begin_highlight_color): Likewise.
+       (pp_markup::context::end_highlight_color): Likewise.
+       (pp_markup::context::push_back_any_text): New.
+       (selftest::test_merge_consecutive_text_tokens): New.
+       (selftest::test_custom_tokens_1): New.
+       (selftest::test_custom_tokens_2): New.
+       (selftest::pp_printf_with_urlifier): Drop "urlifier" param from
+       call to pp_format.
+       (selftest::test_urlification): Add test of the example from
+       pretty-print-format-impl.h.
+       (selftest::pretty_print_cc_tests): Call the new selftest
+       functions.
+       * pretty-print.h (class quoting_info): Drop forward decl.
+       (class pp_token_list): New forward decl.
+       (printer_fn): Convert final param from const char ** to
+       pp_token_list &.
+       (class token_printer): New.
+       (class pretty_printer): Add pp_output_formatted_text as friend.
+       (pretty_printer::set_token_printer): New.
+       (pretty_printer::format): Drop urlifier param as this now happens
+       in phase 3.
+       (pretty_printer::m_format_decoder): Update comment.
+       (pretty_printer::m_token_printer): New field.
+       (pp_format): Drop urlifier param.
+       * tree-diagnostic.cc (default_tree_printer): Convert final param
+       from const char ** to pp_token_list &.
+       * tree-diagnostic.h: Likewise for decl.
+
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * dumpfile.cc: Include "pretty-print-format-impl.h".
+       * pretty-print-format-impl.h: New file, based on material from
+       pretty-print.h.
+       * pretty-print.cc: Include "pretty-print-format-impl.h".
+       * pretty-print.h (chunk_info): Replace full declaration with
+       a forward decl, moving full decl to pretty-print-format-impl.h.
+
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * config/aarch64/aarch64.cc: Define INCLUDE_MEMORY.
+       * config/arm/arm.cc: Likewise.
+       * config/i386/i386.cc: Likewise.
+       * config/loongarch/loongarch.cc: Likewise.
+       * config/riscv/riscv-vector-costs.cc: Likewise.
+       * config/riscv/riscv.cc: Likewise.
+       * config/rs6000/rs6000.cc: Likewise.
+       * dump-context.h (dump_context::emit_item): Convert "item" param
+       from * to const &.
+       (dump_pretty_printer::stash_item): Convert "item" param from
+       optinfo_ * to std::unique_ptr<optinfo_item>.
+       (dump_pretty_printer::emit_item): Likewise.
+       * dumpfile.cc: Include "make-unique.h".
+       (make_item_for_dump_gimple_stmt): Replace uses of optinfo_item *
+       with std::unique_ptr<optinfo_item>.
+       (dump_context::dump_gimple_stmt): Likewise.
+       (make_item_for_dump_gimple_expr): Likewise.
+       (dump_context::dump_gimple_expr): Likewise.
+       (make_item_for_dump_generic_expr): Likewise.
+       (dump_context::dump_generic_expr): Likewise.
+       (make_item_for_dump_symtab_node): Likewise.
+       (dump_pretty_printer::emit_items): Likewise.
+       (dump_pretty_printer::emit_any_pending_textual_chunks): Likewise.
+       (dump_pretty_printer::emit_item): Likewise.
+       (dump_pretty_printer::stash_item): Likewise.
+       (dump_pretty_printer::decode_format): Likewise.
+       (dump_context::dump_printf_va): Fix overlong line.
+       (make_item_for_dump_dec): Replace uses of optinfo_item * with
+       std::unique_ptr<optinfo_item>.
+       (dump_context::dump_dec): Likewise.
+       (dump_context::dump_symtab_node): Likewise.
+       (dump_context::begin_scope): Likewise.
+       (dump_context::emit_item): Likewise.
+       * gimple-loop-interchange.cc: Define INCLUDE_MEMORY.
+       * gimple-loop-jam.cc: Likewise.
+       * gimple-loop-versioning.cc: Likewise.
+       * graphite-dependences.cc: Likewise.
+       * graphite-isl-ast-to-gimple.cc: Likewise.
+       * graphite-optimize-isl.cc: Likewise.
+       * graphite-poly.cc: Likewise.
+       * graphite-scop-detection.cc: Likewise.
+       * graphite-sese-to-poly.cc: Likewise.
+       * graphite.cc: Likewise.
+       * opt-problem.cc: Likewise.
+       * optinfo.cc (optinfo::add_item): Convert "item" param from
+       optinfo_ * to std::unique_ptr<optinfo_item>.
+       (optinfo::emit_for_opt_problem): Update for change to
+       dump_context::emit_item.
+       * optinfo.h: Add #error to fail immediately if INCLUDE_MEMORY
+       wasn't defined, rather than fail to find std::unique_ptr.
+       (optinfo::add_item): Convert "item" param from optinfo_ * to
+       std::unique_ptr<optinfo_item>.
+       * sese.cc: Define INCLUDE_MEMORY.
+       * targhooks.cc: Likewise.
+       * tree-data-ref.cc: Likewise.
+       * tree-if-conv.cc: Likewise.
+       * tree-loop-distribution.cc: Likewise.
+       * tree-parloops.cc: Likewise.
+       * tree-predcom.cc: Likewise.
+       * tree-ssa-live.cc: Likewise.
+       * tree-ssa-loop-ivcanon.cc: Likewise.
+       * tree-ssa-loop-ivopts.cc: Likewise.
+       * tree-ssa-loop-prefetch.cc: Likewise.
+       * tree-ssa-loop-unswitch.cc: Likewise.
+       * tree-ssa-phiopt.cc: Likewise.
+       * tree-ssa-threadbackward.cc: Likewise.
+       * tree-ssa-threadupdate.cc: Likewise.
+       * tree-vect-data-refs.cc: Likewise.
+       * tree-vect-generic.cc: Likewise.
+       * tree-vect-loop-manip.cc: Likewise.
+       * tree-vect-loop.cc: Likewise.
+       * tree-vect-patterns.cc: Likewise.
+       * tree-vect-slp-patterns.cc: Likewise.
+       * tree-vect-slp.cc: Likewise.
+       * tree-vect-stmts.cc: Likewise.
+       * tree-vectorizer.cc: Likewise.
+
+2024-08-29  John David Anglin  <dang...@gcc.gnu.org>
+
+       * config/pa/pa.cc (load_reg): Don't generate load with
+       unscaled index address when !TARGET_NO_SPACE_REGS.
+       (pa_legitimate_address_p): Only allow unscaled index
+       addresses when TARGET_NO_SPACE_REGS.
+
+2024-08-29  Andrew Pinski  <quic_apin...@quicinc.com>
+
+       PR middle-end/116508
+       * internal-fn.cc (expand_POPCOUNT): Use OPTAB_WIDEN for PLUS and
+       XOR/AND expansion.
+
+2024-08-29  Richard Sandiford  <richard.sandif...@arm.com>
+
+       PR middle-end/116516
+       * rtlanal.cc (strip_address_mutations): Allow subregs around
+       constant displacements.
+
+2024-08-29  Richard Sandiford  <richard.sandif...@arm.com>
+
+       * dse.cc (find_shift_sequence): Allow smallest_int_mode_for_size
+       to failure.
+       * optabs.cc (expand_twoval_binop_libfunc): Likewise.
+
+2024-08-29  Georg-Johann Lay  <a...@gjlay.de>
+
+       PR target/115830
+       * config/avr/avr-modes.def (CCN, CCZN): New CC_MODEs.
+       * config/avr/avr-protos.h (avr_cond_branch): New from
+       ret_cond_branch.
+       (avr_out_plus_set_N, avr_op8_ZN_operator, avr_cmp0_code)
+       (avr_out_op8_set_ZN, avr_len_op8_set_ZN): New protos.
+       (ccn_reg_rtx, cczn_reg_rtx): New declarations.
+       * config/avr/avr.cc (avr_cond_branch): New from ret_cond_branch.
+       (avr_cond_string): Add bool cc_overflow_unusable argument.
+       (avr_print_operand) ['L']: Like 'j' but overflow unusable.
+       ['K']: Like 'k' but overflow unusable.
+       (avr_out_plus_set_ZN): Remove handling of QImode.
+       (avr_out_plus_set_N, avr_op8_ZN_operator, avr_cmp0_code)
+       (avr_out_op8_set_ZN, avr_len_op8_set_ZN): New functions.
+       (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_N]: Hande case.
+       (avr_class_max_nregs): All MODE_CCs occupy one hard reg.
+       (avr_hard_regno_nregs): Same.
+       (avr_hard_regno_mode_ok) [REG_CC]: Allow all MODE_CC.
+       (pass_manager.h, context.h, tree-pass.h): Include them.
+       (ccn_reg_rtx, cczn_reg_rtx): New GTY variables.
+       (avr_init_expanders): Initialize them.
+       (avr_option_override): Run peephole2 a second time.
+       * config/avr/avr.md (adjust_len) [add_set_N]: New attr value.
+       (ALLCC, HI_SI): New mode iterators.
+       (CCname): New mode attribute.
+       (eqnegtle, cmp_signed, op8_ZN): New code iterators.
+       (swap, SWAP): New code attributes.
+       (branch): Handle CCNmode and CCZNmode.  Assimilate...
+       (difficult_branch): ...this insn.
+       (p1m1): Remove.
+       (gen_add_for_<code>_<mode>): Adjust to CCNmode and CCZNmode. Use
+       HISI as mode iterator.  Extend peephole2s that produce them.
+       (*add.for.eqne.<mode>): Extend to *add.for.cc[z]n.<mode>.
+       (*ashift.for.ccn.<mode>): New insn and peephole2 to make them.
+       (*sub.for.cczn.<mode>, *sub-extend<mode>.for.cczn.<mode>):
+       New insns and peephole2s to make them.
+       (*op8.for.cczn.<code>): New insn and peephole2 to make them.
+       * config/avr/predicates.md (const_1_to_3_operand)
+       (abs1_abs2_operand, signed_comparison_operator)
+       (op8_ZN_operator): New predicates.
+
+2024-08-29  Arsen Arsenović  <ar...@aarsen.me>
+
+       PR c++/105104
+       * coroutine-passes.cc (execute_early_expand_coro_ifns): Don't
+       remove any labels.
+
+2024-08-29  Georg-Johann Lay  <a...@gjlay.de>
+
+       * config.gcc (extra_objs) [target=avr]: Add avr-passes.o.
+       * config/avr/t-avr (avr-passes.o): New rule to make it.
+       * config/avr/avr.cc (#define INCLUDE_VECTOR): Remove.
+       (cfganal.h, cfgrtl.h, context.h, tree-pass.h, print-rtl.h): Don't
+       include them.
+       (avr_strict_signed_p, avr_strict_unsigned_p, avr_2comparisons_rhs)
+       (make_avr_pass_recompute_notes, make_avr_pass_casesi)
+       (make_avr_pass_ifelse, make_avr_pass_pre_proep, avr_split_tiny_move)
+       (emit_move_ccc, emit_move_ccc_after, reg_seen_between_p)
+       (avr_maybe_adjust_cfa, avr_redundant_compare_regs)
+       (avr_parallel_insn_from_insns, avr_is_casesi_sequence)
+       (avr_optimize_casesi, avr_redundant_compare, make_avr_pass_fuse_add)
+       (avr_optimize_2ifelse, avr_rest_of_handle_ifelse)
+       (avr_casei_sequence_check_operands)
+       Move functions...
+       (avr_pass_data_fuse_add, avr_pass_data_ifelse)
+       (avr_pass_data_casesi, avr_pass_data_recompute_notes)
+       (avr_pass_data_pre_proep): Move objects...
+       (avr_pass_fuse_add, avr_pass_pre_proep, avr_pass_recompute_notes)
+       (avr_pass_ifelse, avr_pass_casesi, AVR_LdSt_Props): Move classes...
+       * config/avr/avr-passes.cc: ... to this new C++ module.
+       (struct Ranges): Move to...
+       * config/avr/ranges.h: ...this new file.
+       * config/avr/avr-protos.h: Adjust comments.
+
+2024-08-29  Robin Dapp  <rd...@ventanamicro.com>
+
+       PR target/116086
+       * config/riscv/autovec.md (vec_extract<mode><v_half>): Add
+       vector-vector extract for VLS modes.
+       * config/riscv/riscv.cc (riscv_can_change_mode_class): Forbid
+       VLS modes larger than one vector.
+       * config/riscv/vector-iterators.md: Add vector-vector extract
+       iterators.
+
+2024-08-29  Roger Sayle  <ro...@nextmovesoftware.com>
+
+       * config/i386/i386-features.cc (timode_immed_const_gain): New
+       function to determine the gain/cost on a CONST_WIDE_INT.
+       (timode_scalar_chain::compute_convert_gain): Fix whitespace.
+       <case CONST_WIDE_INT>: Provide more accurate estimates using
+       timode_immed_const_gain.
+       <case AND>: Handle CONSTANT_SCALAR_INT_P (src).
+
+2024-08-29  Mark Harmstone  <m...@harmstone.com>
+
+       * dwarf2codeview.cc (enum cv_leaf_type): Add LF_MFUNC_ID.
+       (write_lf_mfunc_id): New function.
+       (add_lf_func_id): New function.
+       (add_lf_mfunc_id): New function.
+       (add_function): Call add_lf_func_id or add_lf_mfunc_id.
+
+2024-08-29  Mark Harmstone  <m...@harmstone.com>
+
+       * dwarf2codeview.cc (enum cv_leaf_type): Add LF_MFUNCTION,
+       LF_METHODLIST, LF_METHOD, and LF_ONEMETHOD.
+       (struct codeview_subtype): Add lf_onemethod and lf_method to union.
+       (struct lf_methodlist_entry): New type.
+       (struct codeview_custom_type): Add lf_mfunc_id, lf_mfunction, and
+       lf_methodlist to union.
+       (struct codeview_method): New type.
+       (struct method_hasher): New type.
+       (get_type_num_subroutine_type): Add forward declaration.
+       (write_lf_fieldlist): Handle LF_ONEMETHOD and LF_METHOD.
+       (write_lf_mfunction): New function.
+       (write_lf_methodlist): New function.
+       (write_custom_types): Handle LF_MFUNCTION and LF_METHODLIST.
+       (add_struct_function): New function.
+       (get_mfunction_type): New function.
+       (is_templated_func): New function.
+       (get_type_num_struct): Handle DW_TAG_subprogram child DIEs.
+       (get_type_num_subroutine_type): Add containing_class_type, this_type,
+       and this_adjustment params, and handle creating LF_MFUNCTION types as
+       well as LF_PROCEDURE.
+       (get_type_num): New params for get_type_num_subroutine_type.
+       (add_function): New params for get_type_num_subroutine_type.
+       * dwarf2codeview.h (CV_METHOD_VANILLA, CV_METHOD_VIRTUAL): Define.
+       (CV_METHOD_STATIC, CV_METHOD_FRIEND, CV_METHOD_INTRO): Likewise.
+       (CV_METHOD_PUREVIRT, CV_METHOD_PUREINTRO): Likewise.
+
+2024-08-29  Mark Harmstone  <m...@harmstone.com>
+
+       * dwarf2codeview.cc (enum cv_leaf_type): Add LF_STMEMBER.
+       (struct codeview_subtype): Add lf_static_member to union.
+       (write_lf_fieldlist): Handle LF_STMEMBER.
+       (add_struct_member): New function.
+       (add_struct_static_member): New function.
+       (get_accessibility): New function.
+       (get_type_num_struct): Split out into add_struct_member and
+       get_accessibility, and handle static members.
+
+2024-08-29  Mark Harmstone  <m...@harmstone.com>
+
+       * dwarf2codeview.cc (enum cf_leaf_type): Add LF_STRING_ID.
+       (struct codeview_custom_type): Add lf_string_id to union.
+       (struct string_id_hasher): New type.
+       (string_id_htab): New global variable.
+       (write_lf_string_id): New function.
+       (write_custom_types): Call write_lf_string_id.
+       (codeview_debug_finish): Free string_id_htab.
+       (add_string_id): New function.
+       (get_scope_string_id): New function.
+       (add_function): Call get_scope_string_id and set scope.
+
+2024-08-29  Mark Harmstone  <m...@harmstone.com>
+
+       * dwarf2codeview.cc (get_name): New function.
+       (add_enum_forward_def): Call get_name.
+       (get_type_num_enumeration_type): Call get_name.
+       (add_struct_forward_def): Call get_name.
+       (get_type_num_struct): Call get_name.
+       (add_variable): Call get_name.
+       (add function): Call get_name.
+       * dwarf2out.cc (get_die_parent): Rename to dw_get_die_parent and make
+       non-static.
+       (generate_type_signature): Handle renamed get_die_parent.
+       * dwarf2out.h (dw_get_die_parent): Add declaration.
+
 2024-08-28  Andrew Pinski  <quic_apin...@quicinc.com>
 
        * internal-fn.cc (expand_POPCOUNT): Dump the costs for
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 0b8bcefbecdc..8021f79746df 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240829
+20240830
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index b9a6f0d33a8d..a6e9d36d90c4 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,123 @@
+2024-08-29  Eric Botcazou  <ebotca...@adacore.com>
+
+       * sem_ch8.adb (Has_Private_With): Add test on Is_Entity_Name.
+
+2024-08-29  Eric Botcazou  <ebotca...@adacore.com>
+
+       * checks.adb (Selected_Length_Checks.Get_E_Length): For a
+       component of a record with discriminants and if the expression is
+       a selected component, try to build an actual subtype from its
+       prefix instead of from the discriminal.
+
+2024-08-29  Steve Baird  <ba...@adacore.com>
+
+       * sem_ch6.adb (Check_Discriminant_Conformance): Immediately after
+       calling Is_Immutably_Limited_Type, perform an additional test that
+       one might reasonably imagine would instead have been part of
+       Is_Immutably_Limited_Type. The new test is a call to a new
+       function Has_Tagged_Limited_Partial_View whose implementation
+       includes a call to Incomplete_Or_Partial_View, which cannot be
+       easily be called from Is_Immutably_Limited_Type (because sem_aux,
+       which is in the closure of the binder, cannot easily "with"
+       sem_util).
+       * sem_aux.adb (Is_Immutably_Limited): Include
+       N_Derived_Type_Definition case when testing Limited_Present flag.
+
+2024-08-29  Eric Botcazou  <ebotca...@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): In the case of a function
+       call, look at the Etype of the call node to determine whether
+       finalization actions need to be performed.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * erroutc.adb (dmsg): Print Insertion_Sloc.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * exp_aggr.adb (Expand_Range_Component): Remove extra warning
+       character. Use same conditional warning char.
+       * freeze.adb (Warn_Overlay): Use named warning character.
+       * restrict.adb (Id_Case): Use named warning character.
+       * sem_prag.adb (Rewrite_Assertion_Kind): Use default warning
+       character.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * par-ch4.adb (P_Name): Use Error_Msg_Sloc for the location of the
+       continuation message.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Inspection_Point): Improve sub
+       diagnostic generation.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * sem_ch12.adb (Abandon_Instantiation): Remove continuation
+       characters from the error message.
+       * sem_ch13.adb (Check_False_Aspect_For_Derived_Type): Remove
+       continuation characters from the error message.
+       * sem_ch6.adb (Assert_False): Avoid creating a continuation
+       message without a parent. If no primary message is created then
+       the message is considered as primary.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * erroutc.adb (Prescan_Message): Avoid not parsing all of the
+       message attributes.
+       * erroutc.ads: Update the documentation.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * freeze.adb: Remove warning insertion characters from a
+       continuation message.
+       * sem_util.adb: Remove warning insertion characters from a
+       continuation message.
+       * sem_warn.adb: Use same warning character as the main message.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * erroutc.ads: Add new method Output_Text_Within
+       * erroutc.adb: Move the line fitting code to a new method called
+       Output_Text_Within
+
+2024-08-29  Piotr Trojanek  <troja...@adacore.com>
+
+       * checks.adb (Expr_Known_Valid): Use Validated_View, which strips
+       type derivation and privacy.
+       * exp_ch3.adb (Simple_Init_Private_Type): Kill checks inside
+       unchecked conversions, just like in Simple_Init_Scalar_Type.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * styleg.adb (Check_Line_Max_Length): Add the actual line length
+       to the diagnostic message.
+
+2024-08-29  Gary Dismukes  <dismu...@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Add loop over associations to 
locate
+       N_Iterated_Component_Associations that do not have an 
Iterator_Specification,
+       and if their Discrete_Choices list consists of a single choice, analyze 
it and
+       if it's the name of an iterator object, then create an 
Iterator_Specification
+       and associate it with the iterated component association.
+       (Resolve_Iterated_Association): Replace test for function call with 
test of
+       Is_Object_Reference, to handle other forms of iterator objects in 
container
+       aggregates.
+
+2024-08-29  Javier Miranda  <mira...@adacore.com>
+
+       * usage.adb (Usage): Document switch -gnatw_j
+       * doc/gnat_rm/gnat_language_extensions.rst: Add documentation.
+       * gnat_rm.texi: Regenerate.
+
+2024-08-29  Justin Squirek  <squi...@adacore.com>
+
+       * doc/gnat_rm/gnat_language_extensions.rst: Move conditional when
+       constructs out of the curated set.
+       * gnat_rm.texi: Regenerate.
+       * gnat_ugn.texi: Regenerate.
+
 2024-08-23  Robin Dapp  <rd...@ventanamicro.com>
 
        PR middle-end/115495
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index a14c0593e770..67dfbcee7034 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,8 @@
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * c-objc-common.cc (c_tree_printer): Convert final param from
+       const char ** to pp_token_list &.
+
 2024-08-02  Martin Uecker  <uec...@tugraz.at>
 
        * c-decl.cc (grokdeclarator, finish_struct): Set and
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1fdeb303a378..0d1c5c01f49d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,30 @@
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * error.cc: Include "make-unique.h".
+       (deferred_printed_type::m_buffer_ptr): Replace with...
+       (deferred_printed_type::m_printed_text): ...this and...
+       (deferred_printed_type::m_token_list): ...this.
+       (deferred_printed_type::deferred_printed_type): Update ctors for
+       above changes.
+       (deferred_printed_type::set_text_for_token_list): New.
+       (append_formatted_chunk): Pass chunk_obstack to
+       append_formatted_chunk.
+       (add_quotes): Delete.
+       (cxx_format_postprocessor::handle): Reimplement to call
+       deferred_printed_type::set_text_for_token_list, rather than store
+       buffer pointers.
+       (defer_phase_2_of_type_diff): Replace param "buffer_ptr"
+       with "formatted_token_list".  Reimplement by storing
+       a pointer to formatted_token_list so that the postprocessor can
+       put its text there.
+       (cp_printer): Convert param "buffer_ptr" to
+       "formatted_token_list".  Update calls to
+       defer_phase_2_of_type_diff accordingly.
+
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * error.cc: Include "pretty-print-format-impl.h".
+
 2024-08-28  Marek Polacek  <pola...@redhat.com>
 
        PR c++/116476
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index c3335b9d339d..a5132e7533d6 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,15 @@
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * error.cc (gfc_format_decoder): Convert final param from
+       const char **buffer_ptr to pp_token_list &formatted_token_list,
+       and update call to default_tree_printer accordingly.
+
+2024-08-29  Harald Anlauf  <anl...@gmx.de>
+
+       PR fortran/116530
+       * trans-io.cc (transfer_namelist_element): Prevent NULL pointer
+       dereference.
+
 2024-08-23  Paul Thomas  <pa...@gcc.gnu.org>
 
        Revert:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index aadce43ebee3..b4d37eec59d9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,70 @@
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116419
+       * gcc.dg/sarif-output/bad-pragma.c: New test.
+       * gcc.dg/sarif-output/test-bad-pragma.py: New test.
+       * gcc.dg/sarif-output/test-include-chain-2.py
+       (test_location_relationships): Update expected text of event to
+       include an intra-sarif URI to the other event.
+
+2024-08-29  David Malcolm  <dmalc...@redhat.com>
+
+       * gcc.dg/plugin/dump_plugin.c: Define INCLUDE_MEMORY.
+
+2024-08-29  Harald Anlauf  <anl...@gmx.de>
+
+       PR fortran/116530
+       * gfortran.dg/use_rename_12.f90: New test.
+
+2024-08-29  Andrew Pinski  <quic_apin...@quicinc.com>
+
+       PR middle-end/116508
+       * gcc.target/aarch64/popcnt-eq-1.c: New test.
+
+2024-08-29  Viljar Indus  <in...@adacore.com>
+
+       * gnat.dg/interface6.adb: Adjust test.
+
+2024-08-29  Richard Sandiford  <richard.sandif...@arm.com>
+
+       PR middle-end/116516
+       * gcc.c-torture/compile/pr116516.c: New test.
+
+2024-08-29  Georg-Johann Lay  <a...@gjlay.de>
+
+       PR target/115830
+       * gcc.target/avr/pr115830-add.c: New test.
+       * gcc.target/avr/pr115830-add-c.c: New test.
+       * gcc.target/avr/pr115830-add-i.c: New test.
+       * gcc.target/avr/pr115830-and.c: New test.
+       * gcc.target/avr/pr115830-asl.c: New test.
+       * gcc.target/avr/pr115830-asr.c: New test.
+       * gcc.target/avr/pr115830-ior.c: New test.
+       * gcc.target/avr/pr115830-lsr.c: New test.
+       * gcc.target/avr/pr115830-asl32.c: New test.
+       * gcc.target/avr/pr115830-sub.c: New test.
+       * gcc.target/avr/pr115830-sub-ext.c: New test.
+
+2024-08-29  Arsen Arsenović  <ar...@aarsen.me>
+
+       PR c++/105104
+       * g++.dg/coroutines/torture/pr105104.C: New test.
+
+2024-08-29  Alex Coplan  <alex.cop...@arm.com>
+
+       PR testsuite/116522
+       * lib/scanltranstree.exp: Fix name of underlying scan function
+       used for scan-ltrans-{tree,rtl}-dump{,-not,-dem,-dem-not}.
+
+2024-08-29  Robin Dapp  <rd...@ventanamicro.com>
+
+       PR target/116086
+       * lib/target-supports.exp: Add effective target checks for
+       zvl256b and zvl512b.
+       * gcc.target/riscv/rvv/autovec/pr116086-2-run.c: New test.
+       * gcc.target/riscv/rvv/autovec/pr116086-2.c: New test.
+       * gcc.target/riscv/rvv/autovec/pr116086.c: New test.
+
 2024-08-28  Marek Polacek  <pola...@redhat.com>
 
        PR c++/116476

Reply via email to