21#ifndef GCC_DIAGNOSTIC_H
22#define GCC_DIAGNOSTIC_H
24#include "rich-location.h"
256 void init (
int n_opts);
264 void pop (location_t where);
401 bool should_skip_bom);
573 int,
unsigned HOST_WIDE_INT,
574 const char *,
const char *, va_list *,
593 void show_locus (const rich_location &richloc,
851#define diagnostic_context_auxiliary_data(DC) (DC)->m_client_aux_data
852#define diagnostic_info_auxiliary_data(DI) (DI)->x_data
855#define diagnostic_format_decoder(DC) pp_format_decoder ((DC)->printer)
858#define diagnostic_prefixing_rule(DC) pp_prefixing_rule ((DC)->printer)
882#define errorcount global_dc->diagnostic_count (DK_ERROR)
884#define warningcount global_dc->diagnostic_count (DK_WARNING)
886#define werrorcount global_dc->diagnostic_count (DK_WERROR)
888#define sorrycount global_dc->diagnostic_count (DK_SORRY)
891#define diagnostic_report_warnings_p(DC, LOC) \
892 (!(DC)->m_inhibit_warnings \
893 && !(in_system_header_at (LOC) && !(DC)->m_warn_system_headers))
939 rich_location *richloc,
966 bool should_skip_bom)
1008#ifdef ATTRIBUTE_GCC_DIAG
1012 va_list *, rich_location *,
1063inline expanded_location
1066 return diagnostic->
richloc->get_expanded_location (which);
1080 expanded_location s1, expanded_location s2)
1082 return (s2.column && s1.line == s2.line
1084 > abs (s1.column - s2.column)));
1095 const
char *main_input_filename_,
1098 bool json_formatting);
1105 const
char *main_input_filename_,
1108 const
char *main_input_filename_,
1112 const
char *main_input_filename_,
Definition diagnostic-client-data-hooks.h:31
Definition diagnostic.h:374
void action_after_output(diagnostic_t diag_kind)
Definition diagnostic.cc:733
int m_tabstop
Definition diagnostic.h:764
void initialize(int n_opts)
Definition diagnostic.cc:191
file_cache * m_file_cache
Definition diagnostic.h:609
void set_show_rules(bool val)
Definition diagnostic.h:468
void get_any_inlining_info(diagnostic_info *diagnostic)
Definition diagnostic.cc:1115
enum diagnostic_path_format m_path_format
Definition diagnostic.h:632
void finish()
Definition diagnostic.cc:346
void show_any_path(const diagnostic_info &diagnostic)
Definition diagnostic.cc:903
void end_group()
Definition diagnostic.cc:1737
void error_recursion() ATTRIBUTE_NORETURN
Definition diagnostic.cc:1669
void report_current_module(location_t where)
Definition diagnostic.cc:833
void set_option_hooks(diagnostic_option_enabled_cb option_enabled_cb, void *option_state, diagnostic_make_option_name_cb make_option_name_cb, diagnostic_make_option_url_cb make_option_url_cb, unsigned lang_mask)
Definition diagnostic.cc:408
void set_escape_format(enum diagnostics_escape_format val)
Definition diagnostic.h:480
bool diagnostic_enabled(diagnostic_info *diagnostic)
Definition diagnostic.cc:1311
void(* set_locations_callback_t)(diagnostic_context *, diagnostic_info *)
Definition diagnostic.h:385
bool m_show_option_requested
Definition diagnostic.h:639
void show_locus(const rich_location &richloc, diagnostic_t diagnostic_kind, pretty_printer *pp, diagnostic_source_effect_info *effect_info)
Definition diagnostic-show-locus.cc:3249
void set_set_locations_callback(set_locations_callback_t cb)
Definition diagnostic.h:394
bool m_report_bug
Definition diagnostic.h:749
bool bool diagnostic_n_impl(rich_location *, const diagnostic_metadata *, int, unsigned HOST_WIDE_INT, const char *, const char *, va_list *, diagnostic_t) ATTRIBUTE_GCC_DIAG(7
Definition diagnostic.cc:1624
void maybe_show_locus(const rich_location &richloc, diagnostic_t diagnostic_kind, pretty_printer *pp, diagnostic_source_effect_info *effect_info)
Definition diagnostic-show-locus.cc:3216
edit_context * get_edit_context() const
Definition diagnostic.h:508
void set_path_format(enum diagnostic_path_format val)
Definition diagnostic.h:473
void set_max_errors(int val)
Definition diagnostic.h:479
diagnostic_start_span_fn m_start_span
Definition diagnostic.h:685
struct diagnostic_context::@19 m_diagrams
enum diagnostics_extra_output_kind m_extra_output_kind
Definition diagnostic.h:754
hash_set< location_t, false, location_hash > * m_includes_seen
Definition diagnostic.h:800
bool m_inhibit_warnings
Definition diagnostic.h:662
int m_emission_count
Definition diagnostic.h:782
bool m_show_column
Definition diagnostic.h:646
void set_urlifier(urlifier *)
Definition diagnostic.cc:422
const line_map_ordinary * m_last_module
Definition diagnostic.h:738
int converted_column(expanded_location s) const
Definition diagnostic.cc:515
diagnostic_option_classifier m_option_classifier
Definition diagnostic.h:622
bool m_show_path_depths
Definition diagnostic.h:635
int & diagnostic_count(diagnostic_t kind)
Definition diagnostic.h:520
void push_diagnostics(location_t where)
Definition diagnostic.h:431
void begin_group()
Definition diagnostic.cc:1731
diagnostic_output_format * m_output_format
Definition diagnostic.h:787
enum diagnostics_escape_format m_escape_format
Definition diagnostic.h:769
set_locations_callback_t m_set_locations_cb
Definition diagnostic.h:793
friend diagnostic_starter_fn & diagnostic_starter(diagnostic_context *context)
Definition diagnostic.h:828
diagnostic_t classify_diagnostic(int option_index, diagnostic_t new_kind, location_t where)
Definition diagnostic.h:421
void print_any_cwe(const diagnostic_info &diagnostic)
Definition diagnostic.cc:1203
void set_show_path_depths(bool val)
Definition diagnostic.h:477
const diagnostic_client_data_hooks * get_client_data_hooks()
Definition diagnostic.h:512
void print_option_information(const diagnostic_info &diagnostic, diagnostic_t orig_diag_kind)
Definition diagnostic.cc:1280
diagnostic_make_option_url_cb m_make_option_url_cb
Definition diagnostic.h:718
urlifier * m_urlifier
Definition diagnostic.h:726
bool m_warn_system_headers
Definition diagnostic.h:665
enum diagnostic_path_format get_path_format() const
Definition diagnostic.h:495
diagnostic_client_data_hooks * m_client_data_hooks
Definition diagnostic.h:806
bool diagnostic_impl(rich_location *, const diagnostic_metadata *, int, const char *, va_list *, diagnostic_t) ATTRIBUTE_GCC_DIAG(5
Definition diagnostic.cc:1599
diagnostic_starter_fn m_begin_diagnostic
Definition diagnostic.h:680
void(* m_internal_error)(diagnostic_context *, const char *, va_list *)
Definition diagnostic.h:693
bool m_show_cwe
Definition diagnostic.h:626
void(* ice_handler_callback_t)(diagnostic_context *)
Definition diagnostic.h:384
void set_client_data_hooks(diagnostic_client_data_hooks *hooks)
Definition diagnostic.cc:399
char * make_option_name(int option_index, diagnostic_t orig_diag_kind, diagnostic_t diag_kind) const
Definition diagnostic.h:536
void * m_client_aux_data
Definition diagnostic.h:730
void set_warning_as_error_requested(bool val)
Definition diagnostic.h:458
location_t m_last_location
Definition diagnostic.h:733
label_text get_location_text(const expanded_location &s) const
Definition diagnostic.cc:549
void check_max_errors(bool flush)
Definition diagnostic.cc:710
void print_path(const diagnostic_path &path)
Definition diagnostic-path.cc:1066
friend diagnostic_start_span_fn & diagnostic_start_span(diagnostic_context *context)
Definition diagnostic.h:837
diagnostic_finalizer_fn m_end_diagnostic
Definition diagnostic.h:688
ice_handler_callback_t m_ice_handler_cb
Definition diagnostic.h:796
bool includes_seen_p(const line_map_ordinary *map)
Definition diagnostic.cc:810
unsigned get_lang_mask() const
Definition diagnostic.h:562
enum diagnostics_escape_format get_escape_format() const
Definition diagnostic.h:496
void set_text_art_charset(enum diagnostic_text_art_charset charset)
Definition diagnostic.cc:1849
text_art::theme * m_theme
Definition diagnostic.h:813
bool m_inhibit_notes_p
Definition diagnostic.h:743
bool show_path_depths_p() const
Definition diagnostic.h:494
void * m_option_state
Definition diagnostic.h:704
void color_init(int value)
Definition diagnostic.cc:282
bool m_warning_as_error_requested
Definition diagnostic.h:615
pretty_printer * printer
Definition diagnostic.h:605
friend diagnostic_finalizer_fn & diagnostic_finalizer(diagnostic_context *context)
Definition diagnostic.h:845
bool option_unspecified_p(int opt) const
Definition diagnostic.h:408
bool option_enabled_p(int option_index) const
Definition diagnostic.h:526
void set_show_option_requested(bool val)
Definition diagnostic.h:478
void urls_init(int value)
Definition diagnostic.cc:309
bool report_diagnostic(diagnostic_info *)
Definition diagnostic.cc:1376
int m_n_opts
Definition diagnostic.h:619
int m_diagnostic_count[DK_LAST_DIAGNOSTIC_KIND]
Definition diagnostic.h:612
void print_any_rules(const diagnostic_info &diagnostic)
Definition diagnostic.cc:1238
file_cache & get_file_cache() const
Definition diagnostic.h:502
void pop_diagnostics(location_t where)
Definition diagnostic.h:435
diagnostic_make_option_name_cb m_make_option_name_cb
Definition diagnostic.h:712
struct diagnostic_context::@18 m_diagnostic_groups
bool m_pedantic_errors
Definition diagnostic.h:649
text_art::theme * get_diagram_theme() const
Definition diagnostic.h:516
int m_column_origin
Definition diagnostic.h:761
bool m_fatal_errors
Definition diagnostic.h:659
bool m_permissive
Definition diagnostic.h:652
const diagnostic_output_format * get_output_format() const
Definition diagnostic.h:447
struct diagnostic_context::@16 m_text_callbacks
unsigned m_lang_mask
Definition diagnostic.h:721
void create_edit_context()
Definition diagnostic.cc:430
enum diagnostics_column_unit m_column_unit
Definition diagnostic.h:758
int m_nesting_depth
Definition diagnostic.h:778
void emit_diagram(const diagnostic_diagram &diagram)
Definition diagnostic.cc:1654
int m_lock
Definition diagnostic.h:740
void set_ice_handler_callback(ice_handler_callback_t cb)
Definition diagnostic.h:484
diagnostic_option_enabled_cb m_option_enabled_cb
Definition diagnostic.h:700
void set_report_bug(bool val)
Definition diagnostic.h:462
struct diagnostic_context::@17 m_option_callbacks
bool m_show_rules
Definition diagnostic.h:629
void set_show_cwe(bool val)
Definition diagnostic.h:467
int m_max_errors
Definition diagnostic.h:669
bool m_abort_on_error
Definition diagnostic.h:643
bool warning_enabled_at(location_t loc, int opt)
Definition diagnostic.cc:1355
edit_context * m_edit_context_ptr
Definition diagnostic.h:773
diagnostic_source_printing_options m_source_printing
Definition diagnostic.h:745
int m_opt_permissive
Definition diagnostic.h:656
bool warning_as_error_requested_p() const
Definition diagnostic.h:490
void set_extra_output_kind(enum diagnostics_extra_output_kind kind)
Definition diagnostic.h:463
void set_show_highlight_colors(bool val)
Definition diagnostic.h:469
void set_output_format(diagnostic_output_format *output_format)
Definition diagnostic.cc:391
char * make_option_url(int option_index) const
Definition diagnostic.h:547
void initialize_input_context(diagnostic_input_charset_callback ccb, bool should_skip_bom)
Definition diagnostic.cc:337
Definition diagnostic-diagram.h:33
Definition diagnostic.h:254
void push()
Definition diagnostic.cc:159
diagnostic_t update_effective_level_from_pragmas(diagnostic_info *diagnostic) const
Definition diagnostic.cc:1144
void fini()
Definition diagnostic.cc:148
int m_n_opts
Definition diagnostic.h:297
void pop(location_t where)
Definition diagnostic.cc:169
bool option_unspecified_p(int opt) const
Definition diagnostic.h:266
diagnostic_t * m_classify_diagnostic
Definition diagnostic.h:305
diagnostic_t get_current_override(int opt) const
Definition diagnostic.h:271
diagnostic_classification_change_t * m_classification_history
Definition diagnostic.h:312
int * m_push_list
Definition diagnostic.h:318
int m_n_classification_history
Definition diagnostic.h:315
diagnostic_t classify_diagnostic(const diagnostic_context *context, int option_index, diagnostic_t new_kind, location_t where)
Definition diagnostic.cc:975
void init(int n_opts)
Definition diagnostic.cc:137
int m_n_push
Definition diagnostic.h:319
Definition diagnostic-path.h:186
Definition diagnostic-label-effects.h:41
Definition diagnostic.h:231
void on_begin_diagnostic(const diagnostic_info &) override
Definition diagnostic.cc:1772
void on_begin_group() override
Definition diagnostic.h:237
void on_end_diagnostic(const diagnostic_info &, diagnostic_t orig_diag_kind) override
Definition diagnostic.cc:1778
bool machine_readable_stderr_p() const final override
Definition diagnostic.h:243
void on_end_group() override
Definition diagnostic.h:238
diagnostic_text_output_format(diagnostic_context &context)
Definition diagnostic.h:233
~diagnostic_text_output_format()
Definition diagnostic.cc:1752
void on_diagram(const diagnostic_diagram &diagram) override
Definition diagnostic.cc:1786
Definition edit-context.h:44
Definition logical-location.h:55
Definition pretty-print.h:261
Definition pretty-print-urlifier.h:27
const char *(* diagnostic_input_charset_callback)(const char *)
Definition coretypes.h:164
static struct string2counter_map map[debug_counter_number_of_counters]
Definition dbgcnt.cc:39
void ATTRIBUTE_NORETURN
Definition diagnostic-core.h:72
diagnostic_t
Definition diagnostic-core.h:29
@ DK_LAST_DIAGNOSTIC_KIND
Definition diagnostic-core.h:33
#define ATTRIBUTE_GCC_DIAG(m, n)
Definition diagnostic-core.h:67
void diagnostic_set_caret_max_width(diagnostic_context *context, int value)
Definition diagnostic.cc:123
void diagnostic_set_info(diagnostic_info *, const char *, va_list *, rich_location *, diagnostic_t) ATTRIBUTE_GCC_DIAG(2
char * get_cwe_url(int cwe)
Definition diagnostic.cc:1191
location_t diagnostic_location(const diagnostic_info *diagnostic, int which=0)
Definition diagnostic.h:1046
const int CARET_LINE_MARGIN
Definition diagnostic.h:1072
diagnostics_escape_format
Definition diagnostic.h:51
@ DIAGNOSTICS_ESCAPE_FORMAT_BYTES
Definition diagnostic.h:58
@ DIAGNOSTICS_ESCAPE_FORMAT_UNICODE
Definition diagnostic.h:54
void diagnostic_output_format_init_json_file(diagnostic_context *context, bool formatted, const char *base_file_name)
Definition diagnostic-format-json.cc:422
char *(* diagnostic_make_option_url_cb)(const diagnostic_context *, int, unsigned)
Definition diagnostic.h:188
void void void diagnostic_append_note(diagnostic_context *, location_t, const char *,...) ATTRIBUTE_GCC_DIAG(3
char * file_name_as_prefix(diagnostic_context *, const char *)
Definition diagnostic.cc:88
int(* diagnostic_option_enabled_cb)(int, unsigned, void *)
Definition diagnostic.h:183
void void void char * diagnostic_build_prefix(diagnostic_context *, const diagnostic_info *)
Definition diagnostic.cc:588
void diagnostic_report_current_module(diagnostic_context *context, location_t where)
Definition diagnostic.h:931
diagnostic_text_art_charset
Definition diagnostic.h:117
@ DIAGNOSTICS_TEXT_ART_CHARSET_ASCII
Definition diagnostic.h:122
@ DIAGNOSTICS_TEXT_ART_CHARSET_NONE
Definition diagnostic.h:119
@ DIAGNOSTICS_TEXT_ART_CHARSET_UNICODE
Definition diagnostic.h:126
@ DIAGNOSTICS_TEXT_ART_CHARSET_EMOJI
Definition diagnostic.h:129
diagnostic_path_format
Definition diagnostic.h:83
@ DPF_NONE
Definition diagnostic.h:85
@ DPF_SEPARATE_EVENTS
Definition diagnostic.h:89
@ DPF_INLINE_EVENTS
Definition diagnostic.h:95
void diagnostic_initialize_input_context(diagnostic_context *context, diagnostic_input_charset_callback ccb, bool should_skip_bom)
Definition diagnostic.h:964
diagnostics_extra_output_kind
Definition diagnostic.h:102
@ EXTRA_DIAGNOSTIC_OUTPUT_none
Definition diagnostic.h:104
@ EXTRA_DIAGNOSTIC_OUTPUT_fixits_v2
Definition diagnostic.h:111
@ EXTRA_DIAGNOSTIC_OUTPUT_fixits_v1
Definition diagnostic.h:108
void default_diagnostic_start_span_fn(diagnostic_context *, expanded_location)
Definition diagnostic.cc:948
diagnostics_output_format
Definition diagnostic.h:64
@ DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE
Definition diagnostic.h:78
@ DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR
Definition diagnostic.h:69
@ DIAGNOSTICS_OUTPUT_FORMAT_TEXT
Definition diagnostic.h:66
@ DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR
Definition diagnostic.h:75
@ DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE
Definition diagnostic.h:72
void diagnostic_urls_init(diagnostic_context *context, int value=-1)
Definition diagnostic.h:919
void diagnostic_abort_on_error(diagnostic_context *context)
Definition diagnostic.h:862
void diagnostic_inhibit_notes(diagnostic_context *context)
Definition diagnostic.h:819
int get_terminal_width(void)
Definition diagnostic.cc:102
void default_diagnostic_finalizer(diagnostic_context *, const diagnostic_info *, diagnostic_t)
Definition diagnostic.cc:957
diagnostic_t diagnostic_classify_diagnostic(diagnostic_context *context, int optidx, diagnostic_t kind, location_t where)
Definition diagnostic.h:973
diagnostic_starter_fn & diagnostic_starter(diagnostic_context *context)
Definition diagnostic.h:828
const char * diagnostic_get_color_for_kind(diagnostic_t kind)
Definition diagnostic.cc:477
void(* diagnostic_start_span_fn)(diagnostic_context *, expanded_location)
Definition diagnostic.h:176
bool option_unspecified_p(int opt)
Definition diagnostic.h:1129
void(* diagnostic_finalizer_fn)(diagnostic_context *, const diagnostic_info *, diagnostic_t)
Definition diagnostic.h:179
void diagnostic_output_format_init_sarif_file(diagnostic_context *context, const char *main_input_filename_, bool formatted, const char *base_file_name)
Definition diagnostic-format-sarif.cc:2058
bool diagnostic_ready_p()
Definition diagnostic.h:875
diagnostics_column_unit
Definition diagnostic.h:39
@ DIAGNOSTICS_COLUMN_UNIT_BYTE
Definition diagnostic.h:44
@ DIAGNOSTICS_COLUMN_UNIT_DISPLAY
Definition diagnostic.h:41
expanded_location diagnostic_expand_location(const diagnostic_info *diagnostic, int which=0)
Definition diagnostic.h:1064
void diagnostic_action_after_output(diagnostic_context *context, diagnostic_t diag_kind)
Definition diagnostic.h:1028
diagnostic_start_span_fn & diagnostic_start_span(diagnostic_context *context)
Definition diagnostic.h:837
const char * get_diagnostic_kind_text(diagnostic_t kind)
Definition diagnostic.cc:579
int num_digits(int)
Definition diagnostic.cc:1518
json::value * json_from_expanded_location(diagnostic_context *context, location_t loc)
Definition diagnostic-format-json.cc:98
void diagnostic_output_format_init(diagnostic_context *, const char *main_input_filename_, const char *base_file_name, enum diagnostics_output_format, bool json_formatting)
Definition diagnostic.cc:1803
diagnostic_finalizer_fn & diagnostic_finalizer(diagnostic_context *context)
Definition diagnostic.h:845
char * build_message_string(const char *,...) ATTRIBUTE_PRINTF_1
Definition diagnostic.cc:74
char *(* diagnostic_make_option_name_cb)(const diagnostic_context *, int, diagnostic_t, diagnostic_t)
Definition diagnostic.h:184
void diagnostic_finish(diagnostic_context *context)
Definition diagnostic.h:925
diagnostic_context * global_dc
Definition diagnostic-global-context.cc:33
void(* diagnostic_starter_fn)(diagnostic_context *, const diagnostic_info *)
Definition diagnostic.h:173
void diagnostic_output_format_init_sarif_stderr(diagnostic_context *context, const char *main_input_filename_, bool formatted)
Definition diagnostic-format-sarif.cc:2042
void diagnostic_output_format_init_sarif_stream(diagnostic_context *context, const char *main_input_filename_, bool formatted, FILE *stream)
Definition diagnostic-format-sarif.cc:2074
void diagnostic_check_max_errors(diagnostic_context *context, bool flush=false)
Definition diagnostic.h:1035
unsigned int diagnostic_num_locations(const diagnostic_info *diagnostic)
Definition diagnostic.h:1054
void diagnostic_initialize(diagnostic_context *context, int n_opts)
Definition diagnostic.h:907
void default_diagnostic_starter(diagnostic_context *, const diagnostic_info *)
Definition diagnostic.cc:939
void diagnostic_color_init(diagnostic_context *context, int value=-1)
Definition diagnostic.h:913
bool warning_enabled_at(location_t loc, int opt)
Definition diagnostic.h:1123
void void diagnostic_set_info_translated(diagnostic_info *, const char *, va_list *, rich_location *, diagnostic_t) ATTRIBUTE_GCC_DIAG(2
void diagnostic_pop_diagnostics(diagnostic_context *context, location_t where)
Definition diagnostic.h:988
void diagnostic_show_locus(diagnostic_context *context, rich_location *richloc, diagnostic_t diagnostic_kind, pretty_printer *pp=nullptr, diagnostic_source_effect_info *effect_info=nullptr)
Definition diagnostic.h:938
void diagnostic_push_diagnostics(diagnostic_context *context, location_t where)
Definition diagnostic.h:982
bool diagnostic_same_line(const diagnostic_context *context, expanded_location s1, expanded_location s2)
Definition diagnostic.h:1079
bool diagnostic_report_diagnostic(diagnostic_context *context, diagnostic_info *diagnostic)
Definition diagnostic.h:1002
void diagnostic_override_option_index(diagnostic_info *info, int optidx)
Definition diagnostic.h:899
void diagnostic_output_format_init_json_stderr(diagnostic_context *context, bool formatted)
Definition diagnostic-format-json.cc:410
void final(rtx_insn *first, FILE *file, int optimize_p)
Definition final.cc:2002
static const char * base_file_name(const char *file_name)
Definition genautomata.cc:9224
Definition diagnostic.h:193
Definition diagnostic-diagram.h:25
bool & pp_show_highlight_colors(pretty_printer *pp)
Definition pretty-print.h:456
Definition diagnostic.h:162
void * m_ao
Definition diagnostic.h:166
auto_vec< location_t, 8 > m_ilocs
Definition diagnostic.h:164
bool m_allsyslocs
Definition diagnostic.h:168
Definition diagnostic.h:136
const diagnostic_metadata * metadata
Definition diagnostic.h:150
diagnostic_info()
Definition diagnostic.h:137
void * x_data
Definition diagnostic.h:153
diagnostic_t kind
Definition diagnostic.h:155
int option_index
Definition diagnostic.h:157
struct diagnostic_info::inlining_info m_iinfo
text_info message
Definition diagnostic.h:143
rich_location * richloc
Definition diagnostic.h:146
Definition diagnostic.h:291
diagnostic_t kind
Definition diagnostic.h:294
int option
Definition diagnostic.h:293
location_t location
Definition diagnostic.h:292
Definition diagnostic.h:326
bool enabled
Definition diagnostic.h:330
bool show_line_numbers_p
Definition diagnostic.h:354
bool show_event_links_p
Definition diagnostic.h:368
int max_width
Definition diagnostic.h:333
char caret_chars[rich_location::STATICALLY_ALLOCATED_RANGES]
Definition diagnostic.h:336
bool show_ruler_p
Definition diagnostic.h:363
bool show_labels_p
Definition diagnostic.h:349
bool colorize_source_p
Definition diagnostic.h:345
int min_margin_width
Definition diagnostic.h:359
Definition pretty-print.h:34
location_t get_location(unsigned int index_of_location) const
Definition pretty-print.cc:724
rich_location * m_richloc
Definition pretty-print.h:57
#define gcc_assert(EXPR)
Definition system.h:821