aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2024-09-09 19:38:12 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2024-09-09 19:38:12 -0400
commit19363bf5564ffbe992265a1e69a0d99a0d29f016 (patch)
tree8de443b213e90e6992bdcf1ca9d2d76fe4fab004 /gcc/cp
parent38dc2c64710aa0e6a03c0c1201477e3e75b1a0b0 (diff)
downloadgcc-19363bf5564ffbe992265a1e69a0d99a0d29f016.zip
gcc-19363bf5564ffbe992265a1e69a0d99a0d29f016.tar.gz
gcc-19363bf5564ffbe992265a1e69a0d99a0d29f016.tar.bz2
diagnostics: rename dc.printer to m_printer [PR116613]
Rename diagnostic_context's "printer" field to "m_printer", for consistency with other fields, and to highlight places where we currently use this, to help assess feasibility of supporting multiple output sinks (PR other/116613). No functional change intended. gcc/ChangeLog: PR other/116613 * attribs.cc (decls_mismatched_attributes): Rename diagnostic_context's "printer" field to "m_printer". (attr_access::array_as_string): Likewise. * diagnostic-format-json.cc (json_output_format::on_report_diagnostic): Likewise. (diagnostic_output_format_init_json): Likewise. * diagnostic-format-sarif.cc (sarif_result::on_nested_diagnostic): Likewise. (sarif_ice_notification): Likewise. (sarif_builder::on_report_diagnostic): Likewise. (sarif_builder::make_result_object): Likewise. (sarif_builder::make_location_object): Likewise. (sarif_builder::make_message_object_for_diagram): Likewise. (diagnostic_output_format_init_sarif): Likewise. * diagnostic-format-text.cc (diagnostic_text_output_format::~diagnostic_text_output_format): Likewise. (diagnostic_text_output_format::on_report_diagnostic): Likewise. (diagnostic_text_output_format::on_diagram): Likewise. (diagnostic_text_output_format::print_any_cwe): Likewise. (diagnostic_text_output_format::print_any_rules): Likewise. (diagnostic_text_output_format::print_option_information): Likewise. * diagnostic-format.h (diagnostic_output_format::get_printer): New. * diagnostic-global-context.cc (verbatim): Rename diagnostic_context's "printer" field to "m_printer". * diagnostic-path.cc (path_label::get_text): Likewise. (print_path_summary_as_text): Likewise. (diagnostic_context::print_path): Likewise. (selftest::test_empty_path): Likewise. (selftest::test_intraprocedural_path): Likewise. (selftest::test_interprocedural_path_1): Likewise. (selftest::test_interprocedural_path_2): Likewise. (selftest::test_recursion): Likewise. (selftest::test_control_flow_1): Likewise. (selftest::test_control_flow_2): Likewise. (selftest::test_control_flow_3): Likewise. (assert_cfg_edge_path_streq): Likewise. (selftest::test_control_flow_5): Likewise. (selftest::test_control_flow_6): Likewise. * diagnostic-show-locus.cc (layout::layout): Likewise. (selftest::test_layout_x_offset_display_utf8): Likewise. (selftest::test_layout_x_offset_display_tab): Likewise. (selftest::test_diagnostic_show_locus_unknown_location): Likewise. (selftest::test_one_liner_simple_caret): Likewise. (selftest::test_one_liner_no_column): Likewise. (selftest::test_one_liner_caret_and_range): Likewise. (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. (selftest::test_one_liner_fixit_insert_before): Likewise. (selftest::test_one_liner_fixit_insert_after): Likewise. (selftest::test_one_liner_fixit_remove): Likewise. (selftest::test_one_liner_fixit_replace): Likewise. (selftest::test_one_liner_fixit_replace_non_equal_range): Likewise. (selftest::test_one_liner_fixit_replace_equal_secondary_range): Likewise. (selftest::test_one_liner_fixit_validation_adhoc_locations): Likewise. (selftest::test_one_liner_many_fixits_1): Likewise. (selftest::test_one_liner_many_fixits_2): Likewise. (selftest::test_one_liner_labels): Likewise. (selftest::test_one_liner_simple_caret_utf8): Likewise. (selftest::test_one_liner_caret_and_range_utf8): Likewise. (selftest::test_one_liner_multiple_carets_and_ranges_utf8): Likewise. (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. (selftest::test_one_liner_fixit_remove_utf8): Likewise. (selftest::test_one_liner_fixit_replace_utf8): Likewise. (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): Likewise. (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): Likewise. (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise. (selftest::test_one_liner_many_fixits_1_utf8): Likewise. (selftest::test_one_liner_many_fixits_2_utf8): Likewise. (selftest::test_one_liner_labels_utf8): Likewise. (selftest::test_one_liner_colorized_utf8): Likewise. (selftest::test_add_location_if_nearby): Likewise. (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. (selftest::test_overlapped_fixit_printing): Likewise. (selftest::test_overlapped_fixit_printing_utf8): Likewise. (selftest::test_overlapped_fixit_printing_2): Likewise. (selftest::test_fixit_insert_containing_newline): Likewise. (selftest::test_fixit_insert_containing_newline_2): Likewise. (selftest::test_fixit_replace_containing_newline): Likewise. (selftest::test_fixit_deletion_affecting_newline): Likewise. (selftest::test_tab_expansion): Likewise. (selftest::test_escaping_bytes_1): Likewise. (selftest::test_escaping_bytes_2): Likewise. (selftest::test_line_numbers_multiline_range): Likewise. * diagnostic.cc (file_name_as_prefix): Likewise. (diagnostic_set_caret_max_width): Likewise. (diagnostic_context::initialize): Likewise. (diagnostic_context::color_init): Likewise. (diagnostic_context::urls_init): Likewise. (diagnostic_context::finish): Likewise. (diagnostic_context::get_location_text): Likewise. (diagnostic_build_prefix): Likewise. (diagnostic_context::report_current_module): Likewise. (default_diagnostic_starter): Likewise. (default_diagnostic_start_span_fn): Likewise. (default_diagnostic_finalizer): Likewise. (diagnostic_context::report_diagnostic): Likewise. (diagnostic_append_note): Likewise. (diagnostic_context::error_recursion): Likewise. (fancy_abort): Likewise. * diagnostic.h (diagnostic_context::set_show_highlight_colors): Likewise. (diagnostic_context::printer): Rename to... (diagnostic_context::m_printer): ...this. (diagnostic_format_decoder): Rename diagnostic_context's "printer" field to "m_printer". (diagnostic_prefixing_rule): Likewise. (diagnostic_ready_p): Likewise. * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Likewise. * langhooks.cc (lhd_print_error_function): Likewise. * lto-wrapper.cc (print_lto_docs_link): Likewise. * opts-global.cc (init_options_once): Likewise. * opts.cc (common_handle_option): Likewise. * simple-diagnostic-path.cc (simple_diagnostic_path_cc_tests): Likewise. * text-art/dump.h (dump_to_file<T>): Likewise. * toplev.cc (announce_function): Likewise. (toplev::main): Likewise. * tree-diagnostic.cc (default_tree_diagnostic_starter): Likewise. * tree.cc (escaped_string::escape): Likewise. (selftest::test_escaped_strings): Likewise. gcc/ada/ChangeLog: PR other/116613 * gcc-interface/misc.cc (internal_error_function): Rename diagnostic_context's "printer" field to "m_printer". gcc/analyzer/ChangeLog: PR other/116613 * access-diagram.cc (access_range::dump): Rename diagnostic_context's "printer" field to "m_printer". * analyzer-language.cc (on_finish_translation_unit): Likewise. * analyzer.cc (make_label_text): Likewise. (make_label_text_n): Likewise. * call-details.cc (call_details::dump): Likewise. * call-summary.cc (call_summary::dump): Likewise. (call_summary_replay::dump): Likewise. * checker-event.cc (checker_event::debug): Likewise. * constraint-manager.cc (range::dump): Likewise. (bounded_range::dump): Likewise. (bounded_ranges::dump): Likewise. (constraint_manager::dump): Likewise. * diagnostic-manager.cc (diagnostic_manager::emit_saved_diagnostic): Likewise. * engine.cc (exploded_node::dump): Likewise. (exploded_path::dump): Likewise. (run_checkers): Likewise. * kf-analyzer.cc (kf_analyzer_dump_escaped::impl_call_pre): Likewise. * pending-diagnostic.cc (evdesc::event_desc::formatted_print): Likewise. * program-point.cc (function_point::print_source_line): Likewise. (program_point::dump): Likewise. * program-state.cc (extrinsic_state::dump_to_file): Likewise. (sm_state_map::dump): Likewise. (program_state::dump_to_file): Likewise. * ranges.cc (symbolic_byte_offset::dump): Likewise. (symbolic_byte_range::dump): Likewise. * region-model-reachability.cc (reachable_regions::dump): Likewise. * region-model.cc (region_to_value_map::dump): Likewise. (region_model::dump): Likewise. (model_merger::dump): Likewise. * region.cc (region_offset::dump): Likewise. (region::dump): Likewise. * sm-malloc.cc (deallocator_set::dump): Likewise. (sufficiently_similar_p): Likewise. * store.cc (uncertainty_t::dump): Likewise. (binding_key::dump): Likewise. (binding_map::dump): Likewise. (binding_cluster::dump): Likewise. (store::dump): Likewise. * supergraph.cc (supergraph::dump_dot_to_file): Likewise. (superedge::dump): Likewise. * svalue.cc (svalue::dump): Likewise. gcc/c-family/ChangeLog: PR other/116613 * c-format.cc (selftest::test_type_mismatch_range_labels): Rename diagnostic_context's "printer" field to "m_printer". (selftest::test_type_mismatch_range_labels): Likewise. * c-opts.cc (c_diagnostic_finalizer): Likewise. gcc/c/ChangeLog: PR other/116613 * c-objc-common.cc (c_initialize_diagnostics): Rename diagnostic_context's "printer" field to "m_printer". gcc/cp/ChangeLog: PR other/116613 * error.cc (cxx_initialize_diagnostics): Rename diagnostic_context's "printer" field to "m_printer". (cxx_print_error_function): Likewise. (cp_diagnostic_starter): Likewise. (cp_print_error_function): Likewise. (print_instantiation_full_context): Likewise. (print_instantiation_partial_context_line): Likewise. (maybe_print_constexpr_context): Likewise. (print_location): Likewise. (print_constrained_decl_info): Likewise. (print_concept_check_info): Likewise. (print_constraint_context_head): Likewise. (print_requires_expression_info): Likewise. * module.cc (noisy_p): Likewise. gcc/d/ChangeLog: PR other/116613 * d-diagnostic.cc (d_diagnostic_report_diagnostic): Rename diagnostic_context's "printer" field to "m_printer". gcc/fortran/ChangeLog: PR other/116613 * error.cc (gfc_clear_pp_buffer): Rename diagnostic_context's "printer" field to "m_printer". (gfc_warning): Likewise. (gfc_diagnostic_build_kind_prefix): Likewise. (gfc_diagnostic_build_locus_prefix): Likewise. (gfc_diagnostic_starter): Likewise. (gfc_diagnostic_starter): Likewise. (gfc_diagnostic_start_span): Likewise. (gfc_diagnostic_finalizer): Likewise. (gfc_warning_check): Likewise. (gfc_error_opt): Likewise. (gfc_error_check): Likewise. gcc/jit/ChangeLog: PR other/116613 * jit-playback.cc (add_diagnostic): Rename diagnostic_context's "printer" field to "m_printer". gcc/testsuite/ChangeLog: PR other/116613 * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): Update for renaming of field "printer" to "m_printer". * gcc.dg/plugin/diagnostic_group_plugin.c (test_diagnostic_starter): Likewise. (test_diagnostic_start_span_fn): Likewise. (test_output_format::on_begin_group): Likewise. (test_output_format::on_end_group): Likewise. * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (custom_diagnostic_finalizer): Likewise. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/error.cc92
-rw-r--r--gcc/cp/module.cc2
2 files changed, 52 insertions, 42 deletions
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 67a669b..7b6867f 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -275,9 +275,9 @@ cp_seen_error ()
void
cxx_initialize_diagnostics (diagnostic_context *context)
{
- pretty_printer *base = context->printer;
+ pretty_printer *base = context->m_printer;
cxx_pretty_printer *pp = XNEW (cxx_pretty_printer);
- context->printer = new (pp) cxx_pretty_printer ();
+ context->m_printer = new (pp) cxx_pretty_printer ();
/* It is safe to free this object because it was previously XNEW()'d. */
base->~pretty_printer ();
@@ -3674,7 +3674,7 @@ cxx_print_error_function (diagnostic_context *context, const char *file,
else
prefix = NULL;
lhd_print_error_function (context, file, diagnostic);
- pp_set_prefix (context->printer, prefix);
+ pp_set_prefix (context->m_printer, prefix);
maybe_print_instantiation_context (context);
}
@@ -3687,8 +3687,8 @@ cp_diagnostic_starter (diagnostic_context *context,
maybe_print_instantiation_context (context);
maybe_print_constexpr_context (context);
maybe_print_constraint_context (context);
- pp_set_prefix (context->printer, diagnostic_build_prefix (context,
- diagnostic));
+ pp_set_prefix (context->m_printer, diagnostic_build_prefix (context,
+ diagnostic));
}
/* Print current function onto BUFFER, in the process of reporting
@@ -3706,16 +3706,17 @@ cp_print_error_function (diagnostic_context *context,
return;
if (diagnostic_last_function_changed (context, diagnostic))
{
- char *old_prefix = pp_take_prefix (context->printer);
+ pretty_printer *const pp = context->m_printer;
+ char *old_prefix = pp_take_prefix (pp);
const char *file = LOCATION_FILE (diagnostic_location (diagnostic));
tree abstract_origin = diagnostic_abstract_origin (diagnostic);
char *new_prefix = (file && abstract_origin == NULL)
? file_name_as_prefix (context, file) : NULL;
- pp_set_prefix (context->printer, new_prefix);
+ pp_set_prefix (pp, new_prefix);
if (current_function_decl == NULL)
- pp_string (context->printer, _("At global scope:"));
+ pp_string (pp, _("At global scope:"));
else
{
tree fndecl, ao;
@@ -3729,7 +3730,7 @@ cp_print_error_function (diagnostic_context *context,
else
fndecl = current_function_decl;
- pp_printf (context->printer, function_category (fndecl),
+ pp_printf (pp, function_category (fndecl),
fndecl);
while (abstract_origin)
@@ -3768,33 +3769,33 @@ cp_print_error_function (diagnostic_context *context,
if (fndecl)
{
expanded_location s = expand_location (*locus);
- pp_character (context->printer, ',');
- pp_newline (context->printer);
+ pp_character (pp, ',');
+ pp_newline (pp);
if (s.file != NULL)
{
if (context->m_show_column && s.column != 0)
- pp_printf (context->printer,
+ pp_printf (pp,
_(" inlined from %qD at %r%s:%d:%d%R"),
fndecl,
"locus", s.file, s.line, s.column);
else
- pp_printf (context->printer,
+ pp_printf (pp,
_(" inlined from %qD at %r%s:%d%R"),
fndecl,
"locus", s.file, s.line);
}
else
- pp_printf (context->printer, _(" inlined from %qD"),
+ pp_printf (pp, _(" inlined from %qD"),
fndecl);
}
}
- pp_character (context->printer, ':');
+ pp_character (pp, ':');
}
- pp_newline (context->printer);
+ pp_newline (pp);
diagnostic_set_last_function (context, diagnostic);
- context->printer->set_prefix (old_prefix);
+ pp->set_prefix (old_prefix);
}
}
@@ -3847,7 +3848,7 @@ print_instantiation_full_context (diagnostic_context *context)
if (p)
{
- pp_verbatim (context->printer,
+ pp_verbatim (context->m_printer,
p->list_p ()
? _("%s: In substitution of %qS:\n")
: _("%s: In instantiation of %q#D:\n"),
@@ -3874,23 +3875,25 @@ print_instantiation_partial_context_line (diagnostic_context *context,
expanded_location xloc = expand_location (loc);
+ pretty_printer *const pp = context->m_printer;
+
if (context->m_show_column)
- pp_verbatim (context->printer, _("%r%s:%d:%d:%R "),
+ pp_verbatim (pp, _("%r%s:%d:%d:%R "),
"locus", xloc.file, xloc.line, xloc.column);
else
- pp_verbatim (context->printer, _("%r%s:%d:%R "),
+ pp_verbatim (pp, _("%r%s:%d:%R "),
"locus", xloc.file, xloc.line);
if (t != NULL)
{
if (t->list_p ())
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
recursive_p
? _("recursively required by substitution of %qS\n")
: _("required by substitution of %qS\n"),
t->get_node ());
else
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
recursive_p
? _("recursively required from %q#D\n")
: _("required from %q#D\n"),
@@ -3898,15 +3901,15 @@ print_instantiation_partial_context_line (diagnostic_context *context,
}
else
{
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
recursive_p
? _("recursively required from here\n")
: _("required from here\n"));
}
gcc_rich_location rich_loc (loc);
- char *saved_prefix = pp_take_prefix (context->printer);
+ char *saved_prefix = pp_take_prefix (pp);
diagnostic_show_locus (context, &rich_loc, DK_NOTE);
- pp_set_prefix (context->printer, saved_prefix);
+ pp_set_prefix (pp, saved_prefix);
}
/* Same as print_instantiation_full_context but less verbose. */
@@ -3955,14 +3958,15 @@ print_instantiation_partial_context (diagnostic_context *context,
{
expanded_location xloc;
xloc = expand_location (loc);
+ pretty_printer *const pp = context->m_printer;
if (context->m_show_column)
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
_("%r%s:%d:%d:%R [ skipping %d instantiation "
"contexts, use -ftemplate-backtrace-limit=0 to "
"disable ]\n"),
"locus", xloc.file, xloc.line, xloc.column, skip);
else
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
_("%r%s:%d:%R [ skipping %d instantiation "
"contexts, use -ftemplate-backtrace-limit=0 to "
"disable ]\n"),
@@ -4015,15 +4019,16 @@ maybe_print_constexpr_context (diagnostic_context *context)
{
expanded_location xloc = expand_location (EXPR_LOCATION (t));
const char *s = expr_as_string (t, 0);
+ pretty_printer *const pp = context->m_printer;
if (context->m_show_column)
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
_("%r%s:%d:%d:%R in %<constexpr%> expansion of %qs"),
"locus", xloc.file, xloc.line, xloc.column, s);
else
- pp_verbatim (context->printer,
+ pp_verbatim (pp,
_("%r%s:%d:%R in %<constexpr%> expansion of %qs"),
"locus", xloc.file, xloc.line, s);
- pp_newline (context->printer);
+ pp_newline (pp);
}
}
@@ -4032,11 +4037,12 @@ static void
print_location (diagnostic_context *context, location_t loc)
{
expanded_location xloc = expand_location (loc);
+ pretty_printer *const pp = context->m_printer;
if (context->m_show_column)
- pp_verbatim (context->printer, _("%r%s:%d:%d:%R "),
+ pp_verbatim (pp, _("%r%s:%d:%d:%R "),
"locus", xloc.file, xloc.line, xloc.column);
else
- pp_verbatim (context->printer, _("%r%s:%d:%R "),
+ pp_verbatim (pp, _("%r%s:%d:%R "),
"locus", xloc.file, xloc.line);
}
@@ -4044,7 +4050,8 @@ static void
print_constrained_decl_info (diagnostic_context *context, tree decl)
{
print_location (context, DECL_SOURCE_LOCATION (decl));
- pp_verbatim (context->printer, "required by the constraints of %q#D\n", decl);
+ pretty_printer *const pp = context->m_printer;
+ pp_verbatim (pp, "required by the constraints of %q#D\n", decl);
}
static void
@@ -4056,7 +4063,7 @@ print_concept_check_info (diagnostic_context *context, tree expr, tree map, tree
print_location (context, DECL_SOURCE_LOCATION (tmpl));
- cxx_pretty_printer *pp = (cxx_pretty_printer *)context->printer;
+ cxx_pretty_printer *const pp = (cxx_pretty_printer *)context->m_printer;
pp_verbatim (pp, "required for the satisfaction of %qE", expr);
if (map && map != error_mark_node)
{
@@ -4077,7 +4084,8 @@ print_constraint_context_head (diagnostic_context *context, tree cxt, tree args)
if (!src)
{
print_location (context, input_location);
- pp_verbatim (context->printer, "required for constraint satisfaction\n");
+ pretty_printer *const pp = context->m_printer;
+ pp_verbatim (pp, "required for constraint satisfaction\n");
return NULL_TREE;
}
if (DECL_P (src))
@@ -4103,21 +4111,23 @@ print_requires_expression_info (diagnostic_context *context, tree constr, tree a
return;
print_location (context, cp_expr_loc_or_input_loc (expr));
- pp_verbatim (context->printer, "in requirements ");
+ cxx_pretty_printer *const pp
+ = static_cast <cxx_pretty_printer *> (context->m_printer);
+ pp_verbatim (pp, "in requirements ");
tree parms = TREE_OPERAND (expr, 0);
if (parms)
- pp_verbatim (context->printer, "with ");
+ pp_verbatim (pp, "with ");
while (parms)
{
- pp_verbatim (context->printer, "%q#D", parms);
+ pp_verbatim (pp, "%q#D", parms);
if (TREE_CHAIN (parms))
- pp_separate_with_comma ((cxx_pretty_printer *)context->printer);
+ pp_separate_with_comma (pp);
parms = TREE_CHAIN (parms);
}
- pp_cxx_parameter_mapping ((cxx_pretty_printer *)context->printer, map);
+ pp_cxx_parameter_mapping (pp, map);
- pp_verbatim (context->printer, "\n");
+ pp_verbatim (pp, "\n");
}
void
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 6472089..dc0e9e5 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -4695,7 +4695,7 @@ noisy_p ()
if (quiet_flag)
return false;
- pp_needs_newline (global_dc->printer) = true;
+ pp_needs_newline (global_dc->m_printer) = true;
diagnostic_set_last_function (global_dc, (diagnostic_info *) NULL);
return true;