GCC Middle and Back End API Reference
ana::tentative_region_model_context Class Reference

#include <region-model.h>

Inheritance diagram for ana::tentative_region_model_context:
Collaboration diagram for ana::tentative_region_model_context:

Public Member Functions

 tentative_region_model_context ()
 
void on_unexpected_tree_code (tree, const dump_location_t &) final override
 
bool had_errors_p () const
 
bool warn (std::unique_ptr< pending_diagnostic >, const stmt_finder *) override
 
void add_note (std::unique_ptr< pending_note >) override
 
void add_event (std::unique_ptr< checker_event >) override
 
void on_svalue_leak (const svalue *) override
 
void on_liveness_change (const svalue_set &, const region_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 &, const bounded_ranges &) override
 
void on_pop_frame (const frame_region *) override
 
void on_unknown_change (const svalue *sval, bool is_mutable) override
 
void on_phi (const gphi *phi, tree rhs) override
 
void on_escaped_function (tree) 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 *, sm_state_map **, const state_machine **, unsigned *, std::unique_ptr< 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)
 

Private Attributes

int m_num_unexpected_codes
 

Detailed Description

A subclass of region_model_context for determining if operations fail
e.g. "can we generate a region for the lvalue of EXPR?".   

Constructor & Destructor Documentation

◆ tentative_region_model_context()

ana::tentative_region_model_context::tentative_region_model_context ( )
inline

Member Function Documentation

◆ add_event()

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

◆ add_note()

void ana::noop_region_model_context::add_note ( std::unique_ptr< pending_note > )
overridevirtualinherited

◆ bifurcate()

void ana::noop_region_model_context::bifurcate ( std::unique_ptr< custom_edge_info > info)
overridevirtualinherited

◆ checking_for_infinite_loop_p()

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

◆ get_eg()

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

Implements ana::region_model_context.

References NULL.

◆ get_ext_state()

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

Implements ana::region_model_context.

References NULL.

◆ 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::noop_region_model_context::get_logger ( )
inlineoverridevirtualinherited

Implements ana::region_model_context.

References NULL.

◆ 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::noop_region_model_context::get_state_map_by_name ( const char * ,
sm_state_map ** ,
const state_machine ** ,
unsigned * ,
std::unique_ptr< sm_context > *  )
inlineoverridevirtualinherited

◆ get_stmt()

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

Implements ana::region_model_context.

References NULL.

◆ 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::noop_region_model_context::get_uncertainty ( )
inlineoverridevirtualinherited

Implements ana::region_model_context.

References NULL.

◆ had_errors_p()

bool ana::tentative_region_model_context::had_errors_p ( ) const
inline

◆ maybe_did_work()

void ana::noop_region_model_context::maybe_did_work ( )
inlineoverridevirtualinherited

◆ on_bounded_ranges()

void ana::noop_region_model_context::on_bounded_ranges ( const svalue & ,
const bounded_ranges &  )
inlineoverridevirtualinherited

◆ on_condition()

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

◆ on_escaped_function()

void ana::noop_region_model_context::on_escaped_function ( tree )
inlineoverridevirtualinherited

◆ on_liveness_change()

void ana::noop_region_model_context::on_liveness_change ( const svalue_set & ,
const region_model *  )
inlineoverridevirtualinherited

◆ on_phi()

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

◆ on_pop_frame()

void ana::noop_region_model_context::on_pop_frame ( const frame_region * )
inlineoverridevirtualinherited

◆ on_svalue_leak()

void ana::noop_region_model_context::on_svalue_leak ( const svalue * )
inlineoverridevirtualinherited

◆ on_unexpected_tree_code()

void ana::tentative_region_model_context::on_unexpected_tree_code ( tree ,
const dump_location_t &  )
inlinefinaloverridevirtual

Reimplemented from ana::noop_region_model_context.

References m_num_unexpected_codes.

◆ on_unknown_change()

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

◆ on_unusable_in_infinite_loop()

void ana::noop_region_model_context::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::noop_region_model_context::purge_state_involving ( const svalue * sval)
inlineoverridevirtualinherited

◆ terminate_path()

void ana::noop_region_model_context::terminate_path ( )
overridevirtualinherited

◆ warn()

bool ana::noop_region_model_context::warn ( std::unique_ptr< pending_diagnostic > ,
const stmt_finder *  )
inlineoverridevirtualinherited

Field Documentation

◆ m_num_unexpected_codes

int ana::tentative_region_model_context::m_num_unexpected_codes
private

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