GCC Middle and Back End API Reference
ana::annotating_context Class Referenceabstract

#include <region-model.h>

Inheritance diagram for ana::annotating_context:
Collaboration diagram for ana::annotating_context:

Public Member Functions

bool warn (std::unique_ptr< pending_diagnostic > d, const stmt_finder *custom_finder) override
 
virtual void add_annotations ()=0
 
void add_note (std::unique_ptr< pending_note > pn) override
 
void add_event (std::unique_ptr< checker_event > event) override
 
void on_svalue_leak (const svalue *sval) override
 
void on_liveness_change (const svalue_set &live_svalues, const region_model *model) override
 
loggerget_logger () override
 
void on_condition (const svalue *lhs, enum tree_code op, const svalue *rhs) override
 
void on_bounded_ranges (const svalue &sval, const bounded_ranges &ranges) override
 
void on_pop_frame (const frame_region *frame_reg) override
 
void on_unknown_change (const svalue *sval, bool is_mutable) override
 
void on_phi (const gphi *phi, tree rhs) override
 
void on_unexpected_tree_code (tree t, const dump_location_t &loc) override
 
void on_escaped_function (tree fndecl) override
 
uncertainty_tget_uncertainty () override
 
void purge_state_involving (const svalue *sval) override
 
void bifurcate (std::unique_ptr< custom_edge_info > info) override
 
void terminate_path () override
 
const extrinsic_stateget_ext_state () const override
 
bool get_state_map_by_name (const char *name, sm_state_map **out_smap, const state_machine **out_sm, unsigned *out_sm_idx, std::unique_ptr< sm_context > *out_sm_context) override
 
const gimpleget_stmt () const override
 
const exploded_graphget_eg () const override
 
void maybe_did_work () override
 
bool checking_for_infinite_loop_p () const override
 
void on_unusable_in_infinite_loop () override
 
bool get_fd_map (sm_state_map **out_smap, const state_machine **out_sm, unsigned *out_sm_idx, std::unique_ptr< sm_context > *out_sm_context)
 
bool get_malloc_map (sm_state_map **out_smap, const state_machine **out_sm, unsigned *out_sm_idx)
 
bool get_taint_map (sm_state_map **out_smap, const state_machine **out_sm, unsigned *out_sm_idx)
 
bool possibly_tainted_p (const svalue *sval)
 

Protected Member Functions

 annotating_context (region_model_context *inner)
 

Protected Attributes

region_model_contextm_inner
 

Detailed Description

Subclass of region_model_context_decorator with a hook for adding
notes/events when saving diagnostics.   

Constructor & Destructor Documentation

◆ annotating_context()

ana::annotating_context::annotating_context ( region_model_context * inner)
inlineprotected

Member Function Documentation

◆ add_annotations()

virtual void ana::annotating_context::add_annotations ( )
pure virtual

Referenced by warn().

◆ add_event()

void ana::region_model_context_decorator::add_event ( std::unique_ptr< checker_event > event)
overridevirtualinherited

◆ add_note()

void ana::region_model_context_decorator::add_note ( std::unique_ptr< pending_note > pn)
inlineoverridevirtualinherited

◆ bifurcate()

void ana::region_model_context_decorator::bifurcate ( std::unique_ptr< custom_edge_info > info)
inlineoverridevirtualinherited

◆ checking_for_infinite_loop_p()

bool ana::region_model_context_decorator::checking_for_infinite_loop_p ( ) const
inlineoverridevirtualinherited

◆ get_eg()

const exploded_graph * ana::region_model_context_decorator::get_eg ( ) const
inlineoverridevirtualinherited

◆ get_ext_state()

const extrinsic_state * ana::region_model_context_decorator::get_ext_state ( ) const
inlineoverridevirtualinherited

◆ get_fd_map()

bool ana::region_model_context::get_fd_map ( sm_state_map ** out_smap,
const state_machine ** out_sm,
unsigned * out_sm_idx,
std::unique_ptr< sm_context > * out_sm_context )
inlineinherited

◆ get_logger()

logger * ana::region_model_context_decorator::get_logger ( )
inlineoverridevirtualinherited

◆ get_malloc_map()

bool ana::region_model_context::get_malloc_map ( sm_state_map ** out_smap,
const state_machine ** out_sm,
unsigned * out_sm_idx )
inlineinherited

◆ get_state_map_by_name()

bool ana::region_model_context_decorator::get_state_map_by_name ( const char * name,
sm_state_map ** out_smap,
const state_machine ** out_sm,
unsigned * out_sm_idx,
std::unique_ptr< sm_context > * out_sm_context )
inlineoverridevirtualinherited

◆ get_stmt()

const gimple * ana::region_model_context_decorator::get_stmt ( ) const
inlineoverridevirtualinherited

◆ get_taint_map()

bool ana::region_model_context::get_taint_map ( sm_state_map ** out_smap,
const state_machine ** out_sm,
unsigned * out_sm_idx )
inlineinherited

◆ get_uncertainty()

uncertainty_t * ana::region_model_context_decorator::get_uncertainty ( )
inlineoverridevirtualinherited

◆ maybe_did_work()

void ana::region_model_context_decorator::maybe_did_work ( )
inlineoverridevirtualinherited

◆ on_bounded_ranges()

void ana::region_model_context_decorator::on_bounded_ranges ( const svalue & sval,
const bounded_ranges & ranges )
inlineoverridevirtualinherited

◆ on_condition()

void ana::region_model_context_decorator::on_condition ( const svalue * lhs,
enum tree_code op,
const svalue * rhs )
inlineoverridevirtualinherited

◆ on_escaped_function()

void ana::region_model_context_decorator::on_escaped_function ( tree fndecl)
inlineoverridevirtualinherited

◆ on_liveness_change()

void ana::region_model_context_decorator::on_liveness_change ( const svalue_set & live_svalues,
const region_model * model )
inlineoverridevirtualinherited

◆ on_phi()

void ana::region_model_context_decorator::on_phi ( const gphi * phi,
tree rhs )
inlineoverridevirtualinherited

◆ on_pop_frame()

void ana::region_model_context_decorator::on_pop_frame ( const frame_region * frame_reg)
inlineoverridevirtualinherited

◆ on_svalue_leak()

void ana::region_model_context_decorator::on_svalue_leak ( const svalue * sval)
inlineoverridevirtualinherited

◆ on_unexpected_tree_code()

void ana::region_model_context_decorator::on_unexpected_tree_code ( tree t,
const dump_location_t & loc )
inlineoverridevirtualinherited

◆ on_unknown_change()

void ana::region_model_context_decorator::on_unknown_change ( const svalue * sval,
bool is_mutable )
inlineoverridevirtualinherited

◆ on_unusable_in_infinite_loop()

void ana::region_model_context_decorator::on_unusable_in_infinite_loop ( )
inlineoverridevirtualinherited

◆ possibly_tainted_p()

bool ana::region_model_context::possibly_tainted_p ( const svalue * sval)
inherited

◆ purge_state_involving()

void ana::region_model_context_decorator::purge_state_involving ( const svalue * sval)
inlineoverridevirtualinherited

◆ terminate_path()

void ana::region_model_context_decorator::terminate_path ( )
inlineoverridevirtualinherited

◆ warn()

bool ana::annotating_context::warn ( std::unique_ptr< pending_diagnostic > d,
const stmt_finder * custom_finder )
inlineoverridevirtual

Field Documentation

◆ m_inner


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