21#ifndef GCC_ANALYZER_PENDING_DIAGNOSTIC_H
22#define GCC_ANALYZER_PENDING_DIAGNOSTIC_H
139 rich_location &rich_loc,
219 if (
get_kind () != other.get_kind ())
420template <
class Sub
class>
427 const Subclass &other = (
const Subclass &)base_other;
428 return *(
const Subclass*)
this == other;
444 virtual void emit ()
const = 0;
449 if (
get_kind () != other.get_kind ())
463template <
class Sub
class>
470 const Subclass &other = (
const Subclass &)base_other;
471 return *(
const Subclass*)
this == other;
Definition checker-path.h:32
Definition pending-diagnostic.h:136
const saved_diagnostic & m_sd
Definition pending-diagnostic.h:164
void add_rule(const diagnostics::metadata::rule &r)
Definition pending-diagnostic.h:158
diagnostics::metadata & m_metadata
Definition pending-diagnostic.h:166
bool warn(const char *,...) ATTRIBUTE_GCC_DIAG(2
rich_location & m_rich_loc
Definition pending-diagnostic.h:165
bool void inform(const char *,...) ATTRIBUTE_GCC_DIAG(2
void add_cwe(int cwe)
Definition pending-diagnostic.h:157
logger * m_logger
Definition pending-diagnostic.h:167
logger * get_logger() const
Definition pending-diagnostic.h:155
diagnostic_emission_context(const saved_diagnostic &sd, rich_location &rich_loc, diagnostics::metadata &metadata, logger *logger)
Definition pending-diagnostic.h:138
bool void location_t get_location() const
Definition pending-diagnostic.h:154
const pending_diagnostic & get_pending_diagnostic() const
Definition exploded-graph.h:396
Definition exploded-graph.h:205
Definition feasible-graph.h:84
Definition analyzer-logging.h:34
Definition pending-diagnostic.h:422
bool subclass_equal_p(const pending_diagnostic &base_other) const final override
Definition pending-diagnostic.h:424
Definition pending-diagnostic.h:189
virtual bool describe_final_event(pretty_printer &, const evdesc::final_event &)
Definition pending-diagnostic.h:310
virtual bool describe_return_of_state(pretty_printer &, const evdesc::return_of_state &)
Definition pending-diagnostic.h:295
virtual diagnostics::paths::event::meaning get_meaning_for_state_change(const evdesc::state_change &) const
Definition pending-diagnostic.h:265
virtual ~pending_diagnostic()
Definition pending-diagnostic.h:191
virtual void maybe_add_sarif_properties(diagnostics::sarif_object &) const
Definition pending-diagnostic.h:405
virtual bool use_of_uninit_p() const
Definition pending-diagnostic.h:211
virtual const program_state * get_final_state() const
Definition pending-diagnostic.h:367
virtual bool describe_call_with_state(pretty_printer &, const evdesc::call_with_state &)
Definition pending-diagnostic.h:279
virtual bool subclass_equal_p(const pending_diagnostic &other) const =0
virtual void mark_interesting_stuff(interesting_t *)
Definition pending-diagnostic.h:385
virtual bool maybe_add_custom_events_for_superedge(const exploded_edge &, checker_path *)
Definition pending-diagnostic.h:336
virtual bool describe_state_change(pretty_printer &, const evdesc::state_change &)
Definition pending-diagnostic.h:255
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:201
virtual bool supercedes_p(const pending_diagnostic &other) const
Definition pending-diagnostic.h:377
bool equal_p(const pending_diagnostic &other) const
Definition pending-diagnostic.h:216
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 bool check_valid_fpath_p(const feasible_node &, const gimple *) const
Definition pending-diagnostic.h:393
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:465
bool subclass_equal_p(const pending_note &base_other) const final override
Definition pending-diagnostic.h:467
Definition pending-diagnostic.h:436
virtual ~pending_note()
Definition pending-diagnostic.h:438
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:446
Definition program-state.h:224
Definition diagnostic-manager.h:31
Definition checker-event.h:382
const state_machine::state * state_t
Definition sm.h:61
Definition checker-event.h:831
Definition sarif-sink.h:147
Definition genmatch.cc:1506
Definition pretty-print.h:241
union tree_node * tree
Definition coretypes.h:97
#define ATTRIBUTE_GCC_DIAG(m, n)
Definition diagnostic-core.h:71
Definition pending-diagnostic.h:50
Definition access-diagram.h:30
diagnostic_event_id_t event_id_t
Definition event-id.h:66
poly_int< N, C > r
Definition poly-int.h:774
Definition pending-diagnostic.h:80
tree m_caller_fndecl
Definition pending-diagnostic.h:90
tree m_callee_fndecl
Definition pending-diagnostic.h:91
call_with_state(tree caller_fndecl, tree callee_fndecl, tree expr, state_machine::state_t state)
Definition pending-diagnostic.h:81
state_machine::state_t m_state
Definition pending-diagnostic.h:93
tree m_expr
Definition pending-diagnostic.h:92
Definition pending-diagnostic.h:116
state_machine::state_t m_state
Definition pending-diagnostic.h:123
final_event(tree expr, state_machine::state_t state, const warning_event &event)
Definition pending-diagnostic.h:117
const warning_event & m_event
Definition pending-diagnostic.h:124
tree m_expr
Definition pending-diagnostic.h:122
Definition pending-diagnostic.h:99
tree m_callee_fndecl
Definition pending-diagnostic.h:109
return_of_state(tree caller_fndecl, tree callee_fndecl, state_machine::state_t state)
Definition pending-diagnostic.h:100
state_machine::state_t m_state
Definition pending-diagnostic.h:110
tree m_caller_fndecl
Definition pending-diagnostic.h:108
Definition pending-diagnostic.h:55
diagnostics::paths::event_id_t m_event_id
Definition pending-diagnostic.h:73
tree m_expr
Definition pending-diagnostic.h:69
state_machine::state_t m_old_state
Definition pending-diagnostic.h:71
const state_change_event & m_event
Definition pending-diagnostic.h:74
bool is_global_p() const
Definition pending-diagnostic.h:67
state_change(tree expr, tree origin, state_machine::state_t old_state, state_machine::state_t new_state, diagnostics::paths::event_id_t event_id, const state_change_event &event)
Definition pending-diagnostic.h:56
state_machine::state_t m_new_state
Definition pending-diagnostic.h:72
tree m_origin
Definition pending-diagnostic.h:70
Definition event-loc-info.h:29
Definition pending-diagnostic.h:37
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:42
Definition genautomata.cc:669
#define NULL_TREE
Definition tree.h:318