GCC Middle and Back End API Reference
|
#include <diagnostic.h>
Public Types | |
typedef void(*) | set_locations_callback_t(diagnostic_context *, diagnostic_info *) |
Data Fields | |
bool | m_abort_on_error |
bool | m_show_column |
bool | m_pedantic_errors |
bool | m_permissive |
int | m_opt_permissive |
bool | m_fatal_errors |
bool | m_inhibit_warnings |
bool | m_warn_system_headers |
void(* | m_internal_error )(diagnostic_context *, const char *, va_list *) |
void(* | m_adjust_diagnostic_info )(diagnostic_context *, diagnostic_info *) |
void * | m_client_aux_data |
location_t | m_last_location |
bool | m_inhibit_notes_p |
diagnostic_source_printing_options | m_source_printing |
enum diagnostics_column_unit | m_column_unit |
int | m_column_origin |
int | m_tabstop |
Private Member Functions | |
void | error_recursion () ATTRIBUTE_NORETURN |
bool | diagnostic_enabled (diagnostic_info *diagnostic) |
void | get_any_inlining_info (diagnostic_info *diagnostic) |
void | check_max_errors (bool flush) |
void | action_after_output (diagnostic_t diag_kind) |
Friends | |
class | diagnostic_source_print_policy |
class | diagnostic_text_output_format |
class | diagnostic_buffer |
diagnostic_text_starter_fn & | diagnostic_text_starter (diagnostic_context *context) |
diagnostic_start_span_fn & | diagnostic_start_span (diagnostic_context *context) |
diagnostic_text_finalizer_fn & | diagnostic_text_finalizer (diagnostic_context *context) |
This class encapsulates the state of the diagnostics subsystem as a whole (either directly, or via owned objects of other classes, to avoid global variables). It has responsibility for: - being a central place for clients to report diagnostics - reporting those diagnostics to zero or more output sinks (e.g. text vs SARIF) - providing a "dump" member function for a debug dump of the state of the diagnostics subsytem - direct vs buffered diagnostics (see class diagnostic_buffer) - tracking the original argv of the program (for SARIF output) - crash-handling It delegates responsibility to various other classes: - the various output sinks (instances of diagnostic_output_format subclasses) - formatting of messages (class pretty_printer) - an optional urlifier to inject URLs into formatted messages - counting the number of diagnostics reported of each kind (class diagnostic_counters) - calling out to a diagnostic_option_manager to determine if a particular warning is enabled or disabled - tracking pragmas that enable/disable warnings in a range of source code - a cache for use when quoting the user's source code (class file_cache) - a text_art::theme - an edit_context for generating patches from fix-it hints - diagnostic_client_data_hooks for metadata. Try to avoid adding new responsibilities to this class itself, to avoid the "blob" anti-pattern.
void(*) diagnostic_context::set_locations_callback_t(diagnostic_context *, diagnostic_info *) |
|
private |
Take any action which is expected to happen after the diagnostic is written out. This function does not always return.
References bt_callback(), bt_err_callback(), count, FATAL_EXIT_CODE, finish(), fnotice(), gcc_unreachable, ICE_EXIT_CODE, m_abort_on_error, m_fatal_errors, m_report_bug, NULL, and real_abort().
Referenced by error_recursion(), flush_diagnostic_buffer(), and report_diagnostic().
void diagnostic_context::add_sink | ( | std::unique_ptr< diagnostic_output_format > | sink | ) |
References m_output_sinks.
Referenced by handle_OPT_fdiagnostics_add_output_().
void diagnostic_context::begin_group | ( | ) |
class diagnostic_context.
References m_diagnostic_groups.
Referenced by auto_diagnostic_group::auto_diagnostic_group(), sink::begin_group(), diagnostic_report_diagnostic(), emit_diagnostic_with_group(), emit_diagnostic_with_group_va(), and gcc::diagnostics_output_spec::context::report_error().
char * diagnostic_context::build_indent_prefix | ( | ) | const |
|
private |
Check if we've met the maximum error limit, and if so fatally exit with a message. FLUSH indicates whether a diagnostic_context::finish call is needed.
References count, diagnostic_count(), FATAL_EXIT_CODE, finish(), fnotice(), and m_max_errors.
Referenced by flush_diagnostic_buffer(), and report_diagnostic().
|
inline |
References diagnostic_option_classifier::classify_diagnostic(), and m_option_classifier.
Referenced by diagnostic_classify_diagnostic().
void diagnostic_context::clear_diagnostic_buffer | ( | diagnostic_buffer & | buffer | ) |
Clear BUFFER without flushing it.
References diagnostic_counters::clear(), diagnostic_buffer::m_diagnostic_counters, m_last_location, diagnostic_buffer::m_per_format_buffers, and UNKNOWN_LOCATION.
|
inline |
References pretty_printer::clone(), and m_reference_printer.
Referenced by attr_access::array_as_string(), and sarif_output_format::update_printer().
void diagnostic_context::color_init | ( | int | value | ) |
Maybe initialize the color support. We require clients to do this explicitly, since most clients don't want color. When called without a VALUE, it initializes with DIAGNOSTICS_COLOR_DEFAULT.
References colorize_init(), DIAGNOSTICS_COLOR_AUTO, m_output_sinks, m_reference_printer, and pp_show_color().
Referenced by diagnostic_color_init().
void diagnostic_context::create_edit_context | ( | ) |
References gcc_assert, m_edit_context_ptr, and m_file_cache.
Referenced by process_options().
|
inline |
References diagnostic_counters::m_count_for_kind, and m_diagnostic_counters.
Referenced by check_max_errors(), execution_failed_p(), and report_diagnostic().
|
inline |
References diagnostic_counters::get_count(), and m_diagnostic_counters.
|
private |
Returns whether a DIAGNOSTIC should be printed, and adjusts diagnostic->kind as appropriate for #pragma GCC diagnostic and -Werror=foo.
References DK_ANY, get_any_inlining_info(), diagnostic_option_classifier::get_current_override(), m_opt_permissive, m_option_classifier, option_enabled_p(), option_unspecified_p(), and diagnostic_option_classifier::update_effective_level_from_pragmas().
Referenced by report_diagnostic(), and warning_enabled_at().
bool diagnostic_context::diagnostic_impl | ( | rich_location * | richloc, |
const diagnostic_metadata * | metadata, | ||
diagnostic_option_id | option_id, | ||
const char * | gmsgid, | ||
va_list * | ap, | ||
diagnostic_t | kind ) |
Implement emit_diagnostic, inform, warning, warning_at, pedwarn, permerror, error, error_at, error_at, sorry, fatal_error, internal_error, and internal_error_no_backtrace, as documented and defined below.
References ap, diagnostic_set_info(), diagnostic_option_id::m_idx, m_opt_permissive, m_permissive, and report_diagnostic().
Referenced by emit_diagnostic(), emit_diagnostic(), emit_diagnostic_valist(), emit_diagnostic_valist_meta(), emit_diagnostic_with_group_va(), error(), error_at(), error_at(), error_meta(), fatal_error(), inform(), inform(), internal_error(), internal_error_no_backtrace(), pedwarn(), pedwarn(), permerror(), permerror(), permerror_opt(), permerror_opt(), gcc::diagnostics_output_spec::context::report_error(), sorry(), sorry_at(), warning(), warning_at(), warning_at(), and warning_meta().
bool diagnostic_context::diagnostic_n_impl | ( | rich_location * | richloc, |
const diagnostic_metadata * | metadata, | ||
diagnostic_option_id | option_id, | ||
unsigned HOST_WIDE_INT | n, | ||
const char * | singular_gmsgid, | ||
const char * | plural_gmsgid, | ||
va_list * | ap, | ||
diagnostic_t | kind ) |
Implement inform_n, warning_n, and error_n, as documented and defined below.
References ap, diagnostic_set_info_translated(), ngettext, report_diagnostic(), and ULONG_MAX.
Referenced by error_n(), inform_n(), warning_n(), and warning_n().
|
inline |
void diagnostic_context::dump | ( | FILE * | out | ) | const |
Dump state of this diagnostic_context to OUT, for debugging.
References diagnostic_buffer::dump(), diagnostic_counters::dump(), pretty_printer::dump(), i, m_diagnostic_buffer, m_diagnostic_counters, m_output_sinks, and m_reference_printer.
bool diagnostic_context::emit_diagnostic_with_group | ( | diagnostic_t | kind, |
rich_location & | richloc, | ||
const diagnostic_metadata * | metadata, | ||
diagnostic_option_id | option_id, | ||
const char * | gmsgid, | ||
... ) |
Emit a diagnostic within a diagnostic group on this context.
References ap, begin_group(), emit_diagnostic_with_group_va(), and end_group().
Referenced by diagnostic_output_format_open_sarif_file(), and gcc::diagnostics_output_spec::context::open_output_file().
bool diagnostic_context::emit_diagnostic_with_group_va | ( | diagnostic_t | kind, |
rich_location & | richloc, | ||
const diagnostic_metadata * | metadata, | ||
diagnostic_option_id | option_id, | ||
const char * | gmsgid, | ||
va_list * | ap ) |
As above, but taking a va_list *.
References ap, begin_group(), diagnostic_impl(), and end_group().
Referenced by emit_diagnostic_with_group().
void diagnostic_context::emit_diagram | ( | const diagnostic_diagram & | diagram | ) |
Emit DIAGRAM to this context, respecting the output format.
References m_diagrams, and m_output_sinks.
void diagnostic_context::end_group | ( | ) |
|
private |
Inform the user that an error occurred while trying to report some other error. This indicates catastrophic internal inconsistencies, so give up now. But do try to flush out the previous error. This mustn't use internal_error, that will cause infinite recursion.
References action_after_output(), fnotice(), m_lock, m_reference_printer, pp_newline_and_flush(), and real_abort().
Referenced by report_diagnostic().
bool diagnostic_context::execution_failed_p | ( | ) | const |
Return true if sufficiently severe diagnostics have been seen that we ought to exit with a non-zero exit code.
References diagnostic_count().
Referenced by toplev::main(), and sarif_invocation::prepare_to_flush().
void diagnostic_context::finish | ( | ) |
Do any cleaning up required after the last diagnostic is emitted.
References end_group(), diagnostic_option_classifier::fini(), m_client_data_hooks, m_diagnostic_groups, m_diagrams, m_edit_context_ptr, m_file_cache, m_option_classifier, m_option_mgr, m_original_argv, m_output_sinks, m_reference_printer, m_urlifier, and set_diagnostic_buffer().
Referenced by action_after_output(), check_max_errors(), and diagnostic_finish().
void diagnostic_context::flush_diagnostic_buffer | ( | diagnostic_buffer & | buffer | ) |
Flush the diagnostics in BUFFER to this context, clearing BUFFER.
References action_after_output(), check_max_errors(), diagnostic_counters::m_count_for_kind, diagnostic_buffer::m_diagnostic_counters, m_diagnostic_counters, diagnostic_buffer::m_per_format_buffers, and diagnostic_counters::move_to().
|
private |
Update the inlining info in this context for a DIAGNOSTIC.
References diagnostic_location(), in_system_header_at(), and m_set_locations_cb.
Referenced by diagnostic_enabled().
|
inline |
|
inline |
References m_diagnostic_buffer.
References m_diagnostic_groups.
Referenced by sarif_result::on_nested_diagnostic().
|
inline |
References m_diagrams.
Referenced by diagnostic_output_format::get_diagram_theme(), and use_unicode_p().
|
inline |
References m_edit_context_ptr.
Referenced by toplev::main().
|
inline |
References m_escape_format.
Referenced by sarif_builder::make_location_object().
|
inline |
|
inline |
References m_lang_mask.
Referenced by init_asm_output().
|
inline |
References m_original_argv.
diagnostic_output_format & diagnostic_context::get_output_format | ( | size_t | idx | ) | const |
References gcc_assert, and m_output_sinks.
|
inline |
References m_path_format.
|
inline |
References m_reference_printer.
Referenced by announce_function(), common_handle_option(), diagnostic_set_caret_max_width(), escaped_string::escape(), fancy_abort(), init_options_once(), initialize(), toplev::main(), gcc::diagnostics_output_spec::text_scheme_handler::make_sink(), and tree_dump_pretty_printer::tree_dump_pretty_printer().
|
inline |
References m_urlifier.
Referenced by sarif_builder::on_report_diagnostic().
void diagnostic_context::initialize | ( | int | n_opts | ) |
Initialize the diagnostic message outputting machinery.
References diagnostic_source_printing_options::caret_chars, diagnostic_counters::clear(), diagnostic_source_printing_options::colorize_source_p, default_diagnostic_start_span_fn(), default_diagnostic_text_finalizer(), default_diagnostic_text_starter(), diagnostic_set_caret_max_width(), DIAGNOSTICS_COLUMN_UNIT_DISPLAY, DIAGNOSTICS_ESCAPE_FORMAT_UNICODE, DIAGNOSTICS_TEXT_ART_CHARSET_ASCII, DIAGNOSTICS_TEXT_ART_CHARSET_EMOJI, DPF_NONE, diagnostic_source_printing_options::enabled, EXTRA_DIAGNOSTIC_OUTPUT_fixits_v1, EXTRA_DIAGNOSTIC_OUTPUT_fixits_v2, EXTRA_DIAGNOSTIC_OUTPUT_none, get_reference_printer(), i, diagnostic_option_classifier::init(), m_abort_on_error, m_adjust_diagnostic_info, m_client_aux_data, m_client_data_hooks, m_column_origin, m_column_unit, m_diagnostic_buffer, m_diagnostic_counters, m_diagnostic_groups, m_diagrams, m_edit_context_ptr, m_escape_format, m_extra_output_kind, m_fatal_errors, m_file_cache, m_inhibit_notes_p, m_inhibit_warnings, m_internal_error, m_last_location, m_lock, m_max_errors, m_n_opts, m_opt_permissive, m_option_classifier, m_option_mgr, m_original_argv, m_output_sinks, m_path_format, m_pedantic_errors, m_permissive, m_reference_printer, m_report_bug, m_set_locations_cb, m_show_column, m_show_cwe, m_show_option_requested, m_show_path_depths, m_show_rules, m_source_printing, m_tabstop, m_text_callbacks, m_urlifier, m_warn_system_headers, m_warning_as_error_requested, make_unique(), diagnostic_source_printing_options::min_margin_width, pp_line_cutoff(), set_text_art_charset(), diagnostic_source_printing_options::show_event_links_p, diagnostic_source_printing_options::show_labels_p, diagnostic_source_printing_options::show_line_numbers_p, diagnostic_source_printing_options::show_ruler_p, and UNKNOWN_LOCATION.
Referenced by diagnostic_initialize().
void diagnostic_context::initialize_input_context | ( | diagnostic_input_charset_callback | ccb, |
bool | should_skip_bom ) |
Create the file_cache, if not already created, and tell it how to translate files on input.
References file_cache::initialize_input_context(), and m_file_cache.
Referenced by diagnostic_initialize_input_context().
|
inline |
References m_option_mgr, and diagnostic_option_manager::make_option_name().
Referenced by sarif_builder::make_result_object().
|
inline |
References m_option_mgr, and diagnostic_option_manager::make_option_url().
Referenced by sarif_builder::make_reporting_descriptor_object_for_warning(), and print_lto_docs_link().
void diagnostic_context::maybe_show_locus | ( | const rich_location & | richloc, |
diagnostic_t | diagnostic_kind, | ||
pretty_printer & | pp, | ||
diagnostic_source_effect_info * | effects ) |
As per diagnostic_source_print_policy::print, but don't print anything if source printing is disabled, or if the location hasn't changed.
References BUILTINS_LOCATION, NULL, and diagnostic_source_print_policy::print().
Referenced by diagnostic_show_locus().
|
inline |
References m_option_mgr, and diagnostic_option_manager::option_enabled_p().
Referenced by diagnostic_option_classifier::classify_diagnostic(), and diagnostic_enabled().
|
inline |
References m_option_classifier, and diagnostic_option_classifier::option_unspecified_p().
Referenced by diagnostic_enabled(), and option_unspecified_p().
void diagnostic_context::override_urlifier | ( | urlifier * | urlifier | ) |
Set the urlifier without deleting the existing one.
References m_urlifier.
Referenced by auto_override_urlifier::auto_override_urlifier(), and auto_override_urlifier::~auto_override_urlifier().
|
inline |
References m_option_classifier, and diagnostic_option_classifier::pch_restore().
|
inline |
References m_option_classifier, and diagnostic_option_classifier::pch_save().
|
inline |
References m_option_classifier, and diagnostic_option_classifier::pop().
Referenced by diagnostic_pop_diagnostics().
void diagnostic_context::pop_nesting_level | ( | ) |
References m_diagnostic_groups.
Referenced by auto_diagnostic_nesting_level::~auto_diagnostic_nesting_level().
|
inline |
References m_option_classifier, and diagnostic_option_classifier::push().
Referenced by diagnostic_push_diagnostics().
void diagnostic_context::push_nesting_level | ( | ) |
References m_diagnostic_groups.
Referenced by auto_diagnostic_nesting_level::auto_diagnostic_nesting_level().
void diagnostic_context::refresh_output_sinks | ( | ) |
Give all output sinks a chance to rebuild their pretty_printer.
References m_output_sinks.
Referenced by init_options_once(), and set_pretty_printer().
bool diagnostic_context::report_diagnostic | ( | diagnostic_info * | diagnostic | ) |
Report a diagnostic message (an error or a warning) as specified by this diagnostic_context. front-end independent format specifiers are exactly those described in the documentation of output_format. Return true if a diagnostic was printed, false otherwise.
References action_after_output(), edit_context::add_fixits(), check_max_errors(), diagnostic_count(), diagnostic_enabled(), diagnostic_location(), DIAGNOSTICS_COLUMN_UNIT_BYTE, DIAGNOSTICS_COLUMN_UNIT_DISPLAY, error_recursion(), expand_location(), EXTRA_DIAGNOSTIC_OUTPUT_fixits_v1, EXTRA_DIAGNOSTIC_OUTPUT_fixits_v2, fnotice(), gcc_assert, get_file_cache(), ICE_EXIT_CODE, m_abort_on_error, m_adjust_diagnostic_info, diagnostic_counters::m_count_for_kind, m_diagnostic_buffer, diagnostic_buffer::m_diagnostic_counters, m_diagnostic_counters, m_diagnostic_groups, m_edit_context_ptr, m_extra_output_kind, m_inhibit_notes_p, m_inhibit_warnings, m_internal_error, m_lock, m_output_sinks, m_pedantic_errors, m_reference_printer, m_tabstop, m_warn_system_headers, m_warning_as_error_requested, NULL, pp_flush(), pp_format(), pp_newline_and_flush(), print_parseable_fixits(), and va_copy.
Referenced by diagnostic_impl(), diagnostic_n_impl(), and diagnostic_report_diagnostic().
void diagnostic_context::report_verbatim | ( | text_info & | text | ) |
References text_info::m_args_ptr, m_output_sinks, and va_copy.
Referenced by verbatim().
void diagnostic_context::set_client_data_hooks | ( | std::unique_ptr< diagnostic_client_data_hooks > | hooks | ) |
References m_client_data_hooks.
Referenced by sink::sink(), and tree_diagnostics_defaults().
void diagnostic_context::set_diagnostic_buffer | ( | diagnostic_buffer * | buffer | ) |
If BUFFER is non-null, use BUFFER as the active diagnostic_buffer on this context. BUFFER is borrowed. If BUFFER is null, stop any buffering on this context until the next call to this function.
References diagnostic_buffer::ensure_per_format_buffers(), gcc_assert, m_diagnostic_buffer, m_diagnostic_groups, m_output_sinks, and diagnostic_buffer::m_per_format_buffers.
Referenced by finish().
|
inline |
References m_escape_format.
Referenced by common_handle_option(), and sarif_builder::make_location_object().
|
inline |
References m_extra_output_kind.
Referenced by common_handle_option().
void diagnostic_context::set_format_decoder | ( | printer_fn | format_decoder | ) |
Set FORMAT_DECODER on the reference printer and on the pretty_printer of all output sinks.
References m_output_sinks, m_reference_printer, and pp_format_decoder().
Referenced by tree_diagnostics_defaults().
|
inline |
References m_max_errors.
Referenced by common_handle_option().
void diagnostic_context::set_option_manager | ( | std::unique_ptr< diagnostic_option_manager > | mgr, |
unsigned | lang_mask ) |
References m_lang_mask, and m_option_mgr.
Referenced by general_init(), and main().
void diagnostic_context::set_original_argv | ( | unique_argv | original_argv | ) |
References m_original_argv, and unique_argv::release().
Referenced by general_init().
void diagnostic_context::set_output_format | ( | std::unique_ptr< diagnostic_output_format > | output_format | ) |
|
inline |
References m_path_format.
Referenced by common_handle_option(), diagnostic_text_sink::diagnostic_text_sink(), and general_init().
void diagnostic_context::set_prefixing_rule | ( | diagnostic_prefixing_rule_t | rule | ) |
References m_output_sinks, m_reference_printer, and pp_prefixing_rule().
Referenced by common_handle_option().
void diagnostic_context::set_pretty_printer | ( | std::unique_ptr< pretty_printer > | pp | ) |
Set PP as the reference printer for this context. Refresh all output sinks.
References m_reference_printer, and refresh_output_sinks().
|
inline |
References m_report_bug.
Referenced by common_handle_option().
|
inline |
References m_set_locations_cb.
Referenced by tree_diagnostics_defaults().
|
inline |
References m_show_cwe.
Referenced by common_handle_option(), diagnostic_text_sink::diagnostic_text_sink(), and general_init().
void diagnostic_context::set_show_highlight_colors | ( | bool | val | ) |
References m_output_sinks, m_reference_printer, and pp_show_highlight_colors().
Referenced by common_handle_option(), diagnostic_output_format_init_json(), driver_handle_option(), general_init(), init_options_once(), and run_gcc().
|
inline |
References m_show_option_requested.
Referenced by common_handle_option(), and general_init().
|
inline |
References m_show_path_depths.
Referenced by common_handle_option(), and general_init().
|
inline |
References m_show_rules.
Referenced by common_handle_option(), diagnostic_text_sink::diagnostic_text_sink(), and general_init().
void diagnostic_context::set_text_art_charset | ( | enum diagnostic_text_art_charset | charset | ) |
Initialize this context's m_diagrams based on CHARSET. Specifically, make a text_art::theme object for m_diagrams.m_theme, (or NULL for "no diagrams").
References DIAGNOSTICS_TEXT_ART_CHARSET_ASCII, DIAGNOSTICS_TEXT_ART_CHARSET_EMOJI, DIAGNOSTICS_TEXT_ART_CHARSET_NONE, DIAGNOSTICS_TEXT_ART_CHARSET_UNICODE, gcc_unreachable, and m_diagrams.
Referenced by common_handle_option(), driver_handle_option(), and initialize().
void diagnostic_context::set_urlifier | ( | std::unique_ptr< urlifier > | urlifier | ) |
References m_urlifier.
Referenced by general_init(), and driver::global_initializations().
|
inline |
References m_warning_as_error_requested.
Referenced by common_handle_option().
|
inline |
References m_show_path_depths.
bool diagnostic_context::supports_fnotice_on_stderr_p | ( | ) | const |
Return true if there are no machine-readable formats writing to stderr.
References m_output_sinks.
Referenced by fnotice().
void diagnostic_context::urls_init | ( | int | value | ) |
Initialize URL support within this context based on VALUE, handling "auto".
References determine_url_format(), DIAGNOSTICS_URL_AUTO, pretty_printer::get_url_format(), m_output_sinks, m_reference_printer, and pretty_printer::set_url_format().
Referenced by diagnostic_urls_init().
|
inline |
References m_warning_as_error_requested.
Referenced by compiler_diagnostic_option_manager::make_option_name().
bool diagnostic_context::warning_enabled_at | ( | location_t | loc, |
diagnostic_option_id | option_id ) |
Returns whether warning OPTION_ID is enabled at LOC.
References diagnostic_enabled(), diagnostic_report_warnings_p, and line_table.
Referenced by warning_enabled_at().
|
friend |
|
friend |
|
friend |
Client supplied function called between disjoint spans of source code, so that the context can print something to indicate that a new span of source code has begun.
|
friend |
Client supplied function called after a diagnostic message is displayed (for text-based diagnostic output).
|
friend |
|
friend |
Client supplied function to announce a diagnostic (for text-based diagnostic output).
bool diagnostic_context::m_abort_on_error |
Referenced by action_after_output(), diagnostic_abort_on_error(), initialize(), and report_diagnostic().
void(* diagnostic_context::m_adjust_diagnostic_info) (diagnostic_context *, diagnostic_info *) |
Referenced by initialize(), and report_diagnostic().
diagnostic_text_starter_fn diagnostic_context::m_begin_diagnostic |
void* diagnostic_context::m_client_aux_data |
Referenced by diagnostic_text_sink::diagnostic_text_sink(), initialize(), and sink::sink().
|
private |
Referenced by finish(), get_client_data_hooks(), initialize(), and set_client_data_hooks().
int diagnostic_context::m_column_origin |
Referenced by common_handle_option(), and initialize().
enum diagnostics_column_unit diagnostic_context::m_column_unit |
Referenced by common_handle_option(), initialize(), and json_from_expanded_location().
|
private |
Referenced by dump(), get_diagnostic_buffer(), initialize(), report_diagnostic(), and set_diagnostic_buffer().
|
private |
Referenced by diagnostic_count(), diagnostic_count(), dump(), flush_diagnostic_buffer(), initialize(), and report_diagnostic().
struct { ... } diagnostic_context::m_diagnostic_groups |
int diagnostic_context::m_diagnostic_nesting_level |
struct { ... } diagnostic_context::m_diagrams |
Referenced by emit_diagram(), finish(), get_diagram_theme(), initialize(), and set_text_art_charset().
|
private |
Referenced by create_edit_context(), finish(), get_edit_context(), initialize(), and report_diagnostic().
int diagnostic_context::m_emission_count |
diagnostic_text_finalizer_fn diagnostic_context::m_end_diagnostic |
|
private |
Referenced by get_escape_format(), initialize(), and set_escape_format().
|
private |
Referenced by initialize(), report_diagnostic(), and set_extra_output_kind().
bool diagnostic_context::m_fatal_errors |
Referenced by action_after_output(), common_handle_option(), and initialize().
|
private |
Referenced by create_edit_context(), finish(), get_file_cache(), initialize(), and initialize_input_context().
int diagnostic_context::m_group_nesting_depth |
bool diagnostic_context::m_inhibit_notes_p |
bool diagnostic_context::m_inhibit_warnings |
Referenced by common_handle_option(), initialize(), and report_diagnostic().
void(* diagnostic_context::m_internal_error) (diagnostic_context *, const char *, va_list *) |
Referenced by general_init(), initialize(), internal_error_function(), and report_diagnostic().
|
private |
Referenced by get_lang_mask(), and set_option_manager().
location_t diagnostic_context::m_last_location |
Referenced by clear_diagnostic_buffer(), and initialize().
|
private |
Referenced by error_recursion(), initialize(), and report_diagnostic().
|
private |
Referenced by check_max_errors(), initialize(), and set_max_errors().
|
private |
Referenced by initialize().
int diagnostic_context::m_opt_permissive |
Referenced by diagnostic_enabled(), diagnostic_impl(), and initialize().
|
private |
|
private |
Referenced by finish(), initialize(), make_option_name(), make_option_url(), option_enabled_p(), and set_option_manager().
|
private |
Referenced by finish(), get_original_argv(), initialize(), and set_original_argv().
|
private |
Referenced by add_sink(), color_init(), dump(), emit_diagram(), end_group(), diagnostic_buffer::ensure_per_format_buffers(), finish(), get_output_format(), initialize(), diagnostic_buffer::move_to(), refresh_output_sinks(), report_diagnostic(), report_verbatim(), set_diagnostic_buffer(), set_format_decoder(), set_output_format(), set_prefixing_rule(), set_show_highlight_colors(), supports_fnotice_on_stderr_p(), and urls_init().
|
private |
Referenced by get_path_format(), initialize(), and set_path_format().
bool diagnostic_context::m_pedantic_errors |
Referenced by common_handle_option(), initialize(), and report_diagnostic().
bool diagnostic_context::m_permissive |
Referenced by diagnostic_impl(), and initialize().
|
private |
|
private |
Referenced by action_after_output(), initialize(), and set_report_bug().
|
private |
Referenced by get_any_inlining_info(), initialize(), and set_set_locations_callback().
bool diagnostic_context::m_show_column |
|
private |
Referenced by initialize(), and set_show_cwe().
|
private |
Referenced by initialize(), and set_show_option_requested().
|
private |
Referenced by initialize(), set_show_path_depths(), and show_path_depths_p().
|
private |
Referenced by initialize(), and set_show_rules().
diagnostic_source_printing_options diagnostic_context::m_source_printing |
diagnostic_start_span_fn diagnostic_context::m_start_span |
int diagnostic_context::m_tabstop |
Referenced by common_handle_option(), initialize(), and report_diagnostic().
struct { ... } diagnostic_context::m_text_callbacks |
Referenced by initialize().
text_art::theme* diagnostic_context::m_theme |
|
private |
Referenced by finish(), get_urlifier(), initialize(), override_urlifier(), and set_urlifier().
bool diagnostic_context::m_warn_system_headers |
Referenced by common_handle_option(), initialize(), and report_diagnostic().
|
private |
Referenced by initialize(), report_diagnostic(), set_warning_as_error_requested(), and warning_as_error_requested_p().