21#ifndef GCC_ANALYZER_PENDING_DIAGNOSTIC_H
22#define GCC_ANALYZER_PENDING_DIAGNOSTIC_H
140 rich_location &rich_loc,
414template <
class Sub
class>
421 const Subclass &other = (
const Subclass &)base_other;
422 return *(
const Subclass*)
this == other;
438 virtual void emit ()
const = 0;
457template <
class Sub
class>
464 const Subclass &other = (
const Subclass &)base_other;
465 return *(
const Subclass*)
this == other;
Definition checker-path.h:32
Definition pending-diagnostic.h:137
const saved_diagnostic & m_sd
Definition pending-diagnostic.h:165
bool warn(const char *,...) ATTRIBUTE_GCC_DIAG(2
rich_location & m_rich_loc
Definition pending-diagnostic.h:166
diagnostic_metadata & m_metadata
Definition pending-diagnostic.h:167
bool void inform(const char *,...) ATTRIBUTE_GCC_DIAG(2
void add_cwe(int cwe)
Definition pending-diagnostic.h:158
logger * m_logger
Definition pending-diagnostic.h:168
logger * get_logger() const
Definition pending-diagnostic.h:156
bool void location_t get_location() const
Definition pending-diagnostic.h:155
diagnostic_emission_context(const saved_diagnostic &sd, rich_location &rich_loc, diagnostic_metadata &metadata, logger *logger)
Definition pending-diagnostic.h:139
const pending_diagnostic & get_pending_diagnostic() const
void add_rule(const diagnostic_metadata::rule &r)
Definition pending-diagnostic.h:159
Definition exploded-graph.h:381
Definition exploded-graph.h:203
Definition feasible-graph.h:84
Definition analyzer-logging.h:34
Definition pending-diagnostic.h:416
bool subclass_equal_p(const pending_diagnostic &base_other) const final override
Definition pending-diagnostic.h:418
Definition pending-diagnostic.h:190
virtual bool describe_final_event(pretty_printer &, const evdesc::final_event &)
Definition pending-diagnostic.h:311
virtual bool describe_return_of_state(pretty_printer &, const evdesc::return_of_state &)
Definition pending-diagnostic.h:296
virtual ~pending_diagnostic()
Definition pending-diagnostic.h:192
virtual bool use_of_uninit_p() const
Definition pending-diagnostic.h:212
virtual bool describe_call_with_state(pretty_printer &, const evdesc::call_with_state &)
Definition pending-diagnostic.h:280
virtual bool subclass_equal_p(const pending_diagnostic &other) const =0
virtual void mark_interesting_stuff(interesting_t *)
Definition pending-diagnostic.h:380
virtual void maybe_add_sarif_properties(sarif_object &) const
Definition pending-diagnostic.h:399
virtual bool maybe_add_custom_events_for_superedge(const exploded_edge &, checker_path *)
Definition pending-diagnostic.h:337
virtual bool describe_state_change(pretty_printer &, const evdesc::state_change &)
Definition pending-diagnostic.h:256
virtual void add_region_creation_events(const region *reg, tree capacity, const event_loc_info &loc_info, checker_path &emission_path)
virtual const char * get_kind() const =0
virtual bool terminate_path_p() const
Definition pending-diagnostic.h:202
virtual bool supercedes_p(const pending_diagnostic &other) const
Definition pending-diagnostic.h:372
bool equal_p(const pending_diagnostic &other) const
Definition pending-diagnostic.h:217
virtual void add_final_event(const state_machine *sm, const exploded_node *enode, const event_loc_info &loc_info, tree var, state_machine::state_t state, checker_path *emission_path)
virtual void add_function_entry_event(const exploded_edge &eedge, checker_path *emission_path)
virtual void add_call_event(const exploded_edge &, checker_path *)
virtual int get_controlling_option() const =0
virtual diagnostic_event::meaning get_meaning_for_state_change(const evdesc::state_change &) const
Definition pending-diagnostic.h:266
virtual bool check_valid_fpath_p(const feasible_node &, const gimple *) const
Definition pending-diagnostic.h:388
static bool same_tree_p(tree t1, tree t2)
virtual bool emit(diagnostic_emission_context &)=0
virtual location_t fixup_location(location_t loc, bool primary) const
Definition pending-diagnostic.h:459
bool subclass_equal_p(const pending_note &base_other) const final override
Definition pending-diagnostic.h:461
Definition pending-diagnostic.h:430
virtual ~pending_note()
Definition pending-diagnostic.h:432
virtual bool subclass_equal_p(const pending_note &other) const =0
virtual void emit() const =0
virtual const char * get_kind() const =0
bool equal_p(const pending_note &other) const
Definition pending-diagnostic.h:440
Definition diagnostic-manager.h:31
Definition checker-event.h:347
Definition checker-event.h:674
Definition diagnostic-event-id.h:37
Definition genmatch.cc:1496
Definition pretty-print.h:241
Definition diagnostic-format-sarif.h:84
union tree_node * tree
Definition coretypes.h:97
#define ATTRIBUTE_GCC_DIAG(m, n)
Definition diagnostic-core.h:100
Definition access-diagram.h:30
poly_int< N, C > r
Definition poly-int.h:774
Definition pending-diagnostic.h:81
tree m_caller_fndecl
Definition pending-diagnostic.h:91
tree m_callee_fndecl
Definition pending-diagnostic.h:92
call_with_state(tree caller_fndecl, tree callee_fndecl, tree expr, state_machine::state_t state)
Definition pending-diagnostic.h:82
state_machine::state_t m_state
Definition pending-diagnostic.h:94
tree m_expr
Definition pending-diagnostic.h:93
Definition pending-diagnostic.h:117
state_machine::state_t m_state
Definition pending-diagnostic.h:124
final_event(tree expr, state_machine::state_t state, const warning_event &event)
Definition pending-diagnostic.h:118
const warning_event & m_event
Definition pending-diagnostic.h:125
tree m_expr
Definition pending-diagnostic.h:123
Definition pending-diagnostic.h:100
tree m_callee_fndecl
Definition pending-diagnostic.h:110
return_of_state(tree caller_fndecl, tree callee_fndecl, state_machine::state_t state)
Definition pending-diagnostic.h:101
state_machine::state_t m_state
Definition pending-diagnostic.h:111
tree m_caller_fndecl
Definition pending-diagnostic.h:109
Definition pending-diagnostic.h:56
tree m_expr
Definition pending-diagnostic.h:70
state_machine::state_t m_old_state
Definition pending-diagnostic.h:72
const state_change_event & m_event
Definition pending-diagnostic.h:75
diagnostic_event_id_t m_event_id
Definition pending-diagnostic.h:74
bool is_global_p() const
Definition pending-diagnostic.h:68
state_machine::state_t m_new_state
Definition pending-diagnostic.h:73
tree m_origin
Definition pending-diagnostic.h:71
state_change(tree expr, tree origin, state_machine::state_t old_state, state_machine::state_t new_state, diagnostic_event_id_t event_id, const state_change_event &event)
Definition pending-diagnostic.h:57
Definition event-loc-info.h:29
Definition pending-diagnostic.h:38
void dump_to_pp(pretty_printer *pp, bool simple) const
void add_region_creation(const region *reg)
auto_vec< const region * > m_region_creation
Definition pending-diagnostic.h:43
Definition diagnostic-path.h:114
Definition genautomata.cc:669
#define NULL_TREE
Definition tree.h:317