Daily bump.
This commit is contained in:
parent
aff7f67712
commit
350d627d5e
7 changed files with 748 additions and 1 deletions
516
gcc/ChangeLog
516
gcc/ChangeLog
|
@ -1,3 +1,519 @@
|
|||
2024-08-29 David Malcolm <dmalcolm@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 <dmalcolm@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 <dmalcolm@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 <dmalcolm@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 <danglin@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_apinski@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.sandiford@arm.com>
|
||||
|
||||
PR middle-end/116516
|
||||
* rtlanal.cc (strip_address_mutations): Allow subregs around
|
||||
constant displacements.
|
||||
|
||||
2024-08-29 Richard Sandiford <richard.sandiford@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 <avr@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ć <arsen@aarsen.me>
|
||||
|
||||
PR c++/105104
|
||||
* coroutine-passes.cc (execute_early_expand_coro_ifns): Don't
|
||||
remove any labels.
|
||||
|
||||
2024-08-29 Georg-Johann Lay <avr@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 <rdapp@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 <roger@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 <mark@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 <mark@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 <mark@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 <mark@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 <mark@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_apinski@quicinc.com>
|
||||
|
||||
* internal-fn.cc (expand_POPCOUNT): Dump the costs for
|
||||
|
|
|
@ -1 +1 @@
|
|||
20240829
|
||||
20240830
|
||||
|
|
|
@ -1,3 +1,123 @@
|
|||
2024-08-29 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* sem_ch8.adb (Has_Private_With): Add test on Is_Entity_Name.
|
||||
|
||||
2024-08-29 Eric Botcazou <ebotcazou@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 <baird@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 <ebotcazou@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 <indus@adacore.com>
|
||||
|
||||
* erroutc.adb (dmsg): Print Insertion_Sloc.
|
||||
|
||||
2024-08-29 Viljar Indus <indus@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 <indus@adacore.com>
|
||||
|
||||
* par-ch4.adb (P_Name): Use Error_Msg_Sloc for the location of the
|
||||
continuation message.
|
||||
|
||||
2024-08-29 Viljar Indus <indus@adacore.com>
|
||||
|
||||
* exp_prag.adb (Expand_Pragma_Inspection_Point): Improve sub
|
||||
diagnostic generation.
|
||||
|
||||
2024-08-29 Viljar Indus <indus@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 <indus@adacore.com>
|
||||
|
||||
* erroutc.adb (Prescan_Message): Avoid not parsing all of the
|
||||
message attributes.
|
||||
* erroutc.ads: Update the documentation.
|
||||
|
||||
2024-08-29 Viljar Indus <indus@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 <indus@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 <trojanek@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 <indus@adacore.com>
|
||||
|
||||
* styleg.adb (Check_Line_Max_Length): Add the actual line length
|
||||
to the diagnostic message.
|
||||
|
||||
2024-08-29 Gary Dismukes <dismukes@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 <miranda@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 <squirek@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 <rdapp@ventanamicro.com>
|
||||
|
||||
PR middle-end/115495
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2024-08-29 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* c-objc-common.cc (c_tree_printer): Convert final param from
|
||||
const char ** to pp_token_list &.
|
||||
|
||||
2024-08-02 Martin Uecker <uecker@tugraz.at>
|
||||
|
||||
* c-decl.cc (grokdeclarator, finish_struct): Set and
|
||||
|
|
|
@ -1,3 +1,30 @@
|
|||
2024-08-29 David Malcolm <dmalcolm@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 <dmalcolm@redhat.com>
|
||||
|
||||
* error.cc: Include "pretty-print-format-impl.h".
|
||||
|
||||
2024-08-28 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/116476
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
2024-08-29 David Malcolm <dmalcolm@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 <anlauf@gmx.de>
|
||||
|
||||
PR fortran/116530
|
||||
* trans-io.cc (transfer_namelist_element): Prevent NULL pointer
|
||||
dereference.
|
||||
|
||||
2024-08-23 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
Revert:
|
||||
|
|
|
@ -1,3 +1,70 @@
|
|||
2024-08-29 David Malcolm <dmalcolm@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 <dmalcolm@redhat.com>
|
||||
|
||||
* gcc.dg/plugin/dump_plugin.c: Define INCLUDE_MEMORY.
|
||||
|
||||
2024-08-29 Harald Anlauf <anlauf@gmx.de>
|
||||
|
||||
PR fortran/116530
|
||||
* gfortran.dg/use_rename_12.f90: New test.
|
||||
|
||||
2024-08-29 Andrew Pinski <quic_apinski@quicinc.com>
|
||||
|
||||
PR middle-end/116508
|
||||
* gcc.target/aarch64/popcnt-eq-1.c: New test.
|
||||
|
||||
2024-08-29 Viljar Indus <indus@adacore.com>
|
||||
|
||||
* gnat.dg/interface6.adb: Adjust test.
|
||||
|
||||
2024-08-29 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
PR middle-end/116516
|
||||
* gcc.c-torture/compile/pr116516.c: New test.
|
||||
|
||||
2024-08-29 Georg-Johann Lay <avr@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ć <arsen@aarsen.me>
|
||||
|
||||
PR c++/105104
|
||||
* g++.dg/coroutines/torture/pr105104.C: New test.
|
||||
|
||||
2024-08-29 Alex Coplan <alex.coplan@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 <rdapp@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 <polacek@redhat.com>
|
||||
|
||||
PR c++/116476
|
||||
|
|
Loading…
Add table
Reference in a new issue