GCC Middle and Back End API Reference
|
Public Member Functions | |
infinite_recursion_diagnostic (const exploded_node *prev_entry_enode, const exploded_node *new_entry_enode, tree callee_fndecl) | |
const char * | get_kind () const final override |
bool | operator== (const infinite_recursion_diagnostic &other) const |
int | get_controlling_option () const final override |
bool | emit (diagnostic_emission_context &ctxt) final override |
label_text | describe_final_event (const evdesc::final_event &ev) final override |
void | add_function_entry_event (const exploded_edge &eedge, checker_path *emission_path) final override |
void | add_final_event (const state_machine *, const exploded_node *enode, const event_loc_info &, tree, state_machine::state_t, checker_path *emission_path) final override |
bool | check_valid_fpath_p (const feasible_node &final_fnode, const gimple *) const final override |
void | maybe_add_sarif_properties (sarif_object &result_obj) const final override |
bool | subclass_equal_p (const pending_diagnostic &base_other) const final override |
virtual bool | terminate_path_p () const |
virtual bool | use_of_uninit_p () const |
bool | equal_p (const pending_diagnostic &other) const |
virtual location_t | fixup_location (location_t loc, bool primary) const |
virtual label_text | describe_state_change (const evdesc::state_change &) |
virtual diagnostic_event::meaning | get_meaning_for_state_change (const evdesc::state_change &) const |
virtual label_text | describe_call_with_state (const evdesc::call_with_state &) |
virtual label_text | describe_return_of_state (const evdesc::return_of_state &) |
virtual bool | maybe_add_custom_events_for_superedge (const exploded_edge &, checker_path *) |
virtual void | add_call_event (const exploded_edge &, checker_path *) |
virtual void | add_region_creation_events (const region *reg, tree capacity, const event_loc_info &loc_info, checker_path &emission_path) |
virtual bool | supercedes_p (const pending_diagnostic &other) const |
virtual void | mark_interesting_stuff (interesting_t *) |
Static Public Member Functions | |
static bool | same_tree_p (tree t1, tree t2) |
Static Private Member Functions | |
static bool | fedge_uses_conjured_svalue_p (feasible_edge *fedge) |
static bool | expr_uses_conjured_svalue_p (const region_model &model, tree expr) |
Private Attributes | |
const exploded_node * | m_prev_entry_enode |
const exploded_node * | m_new_entry_enode |
tree | m_callee_fndecl |
const checker_event * | m_prev_entry_event |
A subclass of pending_diagnostic for complaining about suspected infinite recursion.
|
inline |
|
virtualinherited |
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References gcc_assert, ana::exploded_node::get_stack_depth(), ana::supernode::get_start_location(), ana::exploded_node::get_supernode(), m_callee_fndecl, m_new_entry_enode, and make_unique().
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References ana::pending_diagnostic::add_function_entry_event(), gcc_assert, ana::exploded_node::get_point(), m_new_entry_enode, m_prev_entry_enode, m_prev_entry_event, make_label_text(), make_unique(), and NULL.
|
virtualinherited |
|
inlinefinaloverridevirtual |
|
inlinevirtualinherited |
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References ana::exploded_node::get_stack_depth(), m_new_entry_enode, and m_prev_entry_enode.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinefinaloverridevirtual |
Implements ana::pending_diagnostic.
|
inlineinherited |
References ana::pending_diagnostic::get_kind().
|
inlinestaticprivate |
References ana::svalue::accept(), ana::region_model::get_rvalue(), and NULL.
Referenced by fedge_uses_conjured_svalue_p().
|
inlinestaticprivate |
References dyn_cast(), ana::superedge::dyn_cast_cfg_superedge(), expr_uses_conjured_svalue_p(), ana::base_feasible_edge::get_inner_edge(), ana::supernode::get_last_stmt(), ana::feasibility_state::get_model(), ana::feasible_node::get_state(), gimple_cond_lhs(), gimple_cond_rhs(), gimple_switch_index(), dedge< GraphTraits >::m_dest, ana::exploded_edge::m_sedge, and dedge< GraphTraits >::m_src.
Referenced by check_valid_fpath_p().
|
virtualinherited |
|
inlinefinaloverridevirtual |
Implements ana::pending_diagnostic.
|
inlinefinaloverridevirtual |
Implements ana::pending_diagnostic.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in infinite_loop_diagnostic.
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References ana::exploded_node::m_index, m_new_entry_enode, m_prev_entry_enode, PROPERTY_PREFIX, and json::object::set_integer().
|
inline |
References m_callee_fndecl.
Referenced by ana::call_arg_details::operator==().
|
inlinefinaloverridevirtualinherited |
Implements ana::pending_diagnostic.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
private |
Referenced by add_final_event(), and operator==().
|
private |
|
private |
Referenced by add_function_entry_event(), check_valid_fpath_p(), describe_final_event(), and maybe_add_sarif_properties().
|
private |
Referenced by add_function_entry_event().