GCC Middle and Back End API Reference
looping_back_event Class Reference
Inheritance diagram for looping_back_event:
Collaboration diagram for looping_back_event:

Public Types

enum  verb {
  VERB_unknown , VERB_acquire , VERB_release , VERB_enter ,
  VERB_exit , VERB_call , VERB_return , VERB_branch ,
  VERB_danger
}
 
enum  noun {
  NOUN_unknown , NOUN_taint , NOUN_sensitive , NOUN_function ,
  NOUN_lock , NOUN_memory , NOUN_resource
}
 
enum  property { PROPERTY_unknown , PROPERTY_true , PROPERTY_false }
 

Public Member Functions

 looping_back_event (const exploded_edge &eedge, const event_loc_info &loc_info)
 
void print_desc (pretty_printer &pp) const final override
 
bool connect_to_next_event_p () const final override
 
meaning get_meaning () const override
 
const cfg_superedgeget_cfg_superedge () const
 
void maybe_add_sarif_properties (sarif_object &thread_flow_loc_obj) const override
 
void record_critical_state (tree var, state_machine::state_t state)
 
const callgraph_superedgeget_callgraph_superedge () const
 
bool should_filter_p (int verbosity) const
 
location_t get_location () const final override
 
int get_stack_depth () const final override
 
const logical_locationget_logical_location () const final override
 
diagnostic_thread_id_t get_thread_id () const final override
 
tree get_fndecl () const
 
int get_original_stack_depth () const
 
virtual void prepare_for_emission (checker_path *, pending_diagnostic *pd, diagnostic_event_id_t emission_id)
 
virtual bool is_call_p () const
 
virtual bool is_function_entry_p () const
 
virtual bool is_return_p () const
 
const diagnostic_event_id_tget_id_ptr () const
 
void dump (pretty_printer *pp) const
 
void debug () const
 
void set_location (location_t loc)
 
label_text get_desc (pretty_printer &ref_pp) const
 

Data Fields

const exploded_edgem_eedge
 
const superedgem_sedge
 
tree m_var
 
state_machine::state_t m_critical_state
 
enum event_kind m_kind
 

Protected Member Functions

label_text maybe_describe_condition (bool can_colorize) const
 

Protected Attributes

location_t m_loc
 
tree m_original_fndecl
 
tree m_effective_fndecl
 
int m_original_depth
 
int m_effective_depth
 
pending_diagnosticm_pending_diagnostic
 
diagnostic_event_id_t m_emission_id
 
tree_logical_location m_logical_loc
 

Static Private Member Functions

static label_text maybe_describe_condition (bool can_colorize, tree lhs, enum tree_code op, tree rhs)
 
static bool should_print_expr_p (tree)
 

Member Enumeration Documentation

◆ noun

enum diagnostic_event::noun
inherited
Enumerator
NOUN_unknown 
NOUN_taint 
NOUN_sensitive 
NOUN_function 
NOUN_lock 
NOUN_memory 
NOUN_resource 

◆ property

Enumerator
PROPERTY_unknown 
PROPERTY_true 
PROPERTY_false 

◆ verb

enum diagnostic_event::verb
inherited
Enumerator
VERB_unknown 
VERB_acquire 
VERB_release 
VERB_enter 
VERB_exit 
VERB_call 
VERB_return 
VERB_branch 
VERB_danger 

Constructor & Destructor Documentation

◆ looping_back_event()

looping_back_event::looping_back_event ( const exploded_edge & eedge,
const event_loc_info & loc_info )
inline

Member Function Documentation

◆ connect_to_next_event_p()

bool ana::start_cfg_edge_event::connect_to_next_event_p ( ) const
inlinefinaloverridevirtualinherited

Reimplemented from ana::checker_event.

◆ debug()

void ana::checker_event::debug ( ) const
inherited

◆ dump()

void ana::checker_event::dump ( pretty_printer * pp) const
inherited

◆ get_callgraph_superedge()

const callgraph_superedge & ana::superedge_event::get_callgraph_superedge ( ) const
inherited

◆ get_cfg_superedge()

const cfg_superedge & ana::cfg_edge_event::get_cfg_superedge ( ) const
inherited

◆ get_desc()

label_text diagnostic_event::get_desc ( pretty_printer & ref_pp) const
inherited
Generate a label_text containing the description of this event
(for debugging/logging purposes).   

References pretty_printer::clone(), pp_formatted_text(), pp_show_color(), and diagnostic_event::print_desc().

◆ get_fndecl()

tree ana::checker_event::get_fndecl ( ) const
inlineinherited

◆ get_id_ptr()

const diagnostic_event_id_t * ana::checker_event::get_id_ptr ( ) const
inlineinherited

◆ get_location()

location_t ana::checker_event::get_location ( ) const
inlinefinaloverridevirtualinherited

◆ get_logical_location()

const logical_location * ana::checker_event::get_logical_location ( ) const
inlinefinaloverridevirtualinherited

◆ get_meaning()

meaning ana::cfg_edge_event::get_meaning ( ) const
overridevirtualinherited

Implements diagnostic_event.

◆ get_original_stack_depth()

int ana::checker_event::get_original_stack_depth ( ) const
inlineinherited

◆ get_stack_depth()

int ana::checker_event::get_stack_depth ( ) const
inlinefinaloverridevirtualinherited

◆ get_thread_id()

diagnostic_thread_id_t ana::checker_event::get_thread_id ( ) const
inlinefinaloverridevirtualinherited

Implements diagnostic_event.

◆ is_call_p()

virtual bool ana::checker_event::is_call_p ( ) const
inlinevirtualinherited

Reimplemented in ana::call_event.

◆ is_function_entry_p()

virtual bool ana::checker_event::is_function_entry_p ( ) const
inlinevirtualinherited

Reimplemented in ana::function_entry_event.

◆ is_return_p()

virtual bool ana::checker_event::is_return_p ( ) const
inlinevirtualinherited

Reimplemented in ana::return_event.

◆ maybe_add_sarif_properties()

void ana::superedge_event::maybe_add_sarif_properties ( sarif_object & thread_flow_loc_obj) const
overridevirtualinherited

Reimplemented from ana::checker_event.

◆ maybe_describe_condition() [1/2]

label_text ana::start_cfg_edge_event::maybe_describe_condition ( bool can_colorize) const
protectedinherited

◆ maybe_describe_condition() [2/2]

static label_text ana::start_cfg_edge_event::maybe_describe_condition ( bool can_colorize,
tree lhs,
enum tree_code op,
tree rhs )
staticprivateinherited

◆ prepare_for_emission()

virtual void ana::checker_event::prepare_for_emission ( checker_path * ,
pending_diagnostic * pd,
diagnostic_event_id_t emission_id )
virtualinherited

◆ print_desc()

void looping_back_event::print_desc ( pretty_printer & pp) const
inlinefinaloverridevirtual

Implements diagnostic_event.

References pp_string().

◆ record_critical_state()

void ana::superedge_event::record_critical_state ( tree var,
state_machine::state_t state )
inlineinherited

◆ set_location()

void ana::checker_event::set_location ( location_t loc)
inlineinherited

◆ should_filter_p()

bool ana::superedge_event::should_filter_p ( int verbosity) const
inherited

◆ should_print_expr_p()

static bool ana::start_cfg_edge_event::should_print_expr_p ( tree )
staticprivateinherited

Field Documentation

◆ m_critical_state

state_machine::state_t ana::superedge_event::m_critical_state
inherited

◆ m_eedge

const exploded_edge& ana::superedge_event::m_eedge
inherited

◆ m_effective_depth

int ana::checker_event::m_effective_depth
protectedinherited

◆ m_effective_fndecl

tree ana::checker_event::m_effective_fndecl
protectedinherited

◆ m_emission_id

diagnostic_event_id_t ana::checker_event::m_emission_id
protectedinherited

◆ m_kind

enum event_kind ana::checker_event::m_kind
inherited

◆ m_loc

location_t ana::checker_event::m_loc
protectedinherited

◆ m_logical_loc

tree_logical_location ana::checker_event::m_logical_loc
protectedinherited

◆ m_original_depth

int ana::checker_event::m_original_depth
protectedinherited

◆ m_original_fndecl

tree ana::checker_event::m_original_fndecl
protectedinherited

◆ m_pending_diagnostic

pending_diagnostic* ana::checker_event::m_pending_diagnostic
protectedinherited

◆ m_sedge

const superedge* ana::superedge_event::m_sedge
inherited

◆ m_var

tree ana::superedge_event::m_var
inherited

The documentation for this class was generated from the following file: