GCC Middle and Back End API Reference
|
#include <exploded-graph.h>
Public Member Functions | |
impl_region_model_context (exploded_graph &eg, exploded_node *enode_for_diag, const program_state *old_state, program_state *new_state, uncertainty_t *uncertainty, path_context *path_ctxt, const gimple *stmt, stmt_finder *stmt_finder=NULL, bool *out_could_have_done_work=nullptr) | |
impl_region_model_context (program_state *state, const extrinsic_state &ext_state, uncertainty_t *uncertainty, logger *logger=NULL) | |
bool | warn (std::unique_ptr< pending_diagnostic > d, const stmt_finder *custom_finder=NULL) final override |
void | add_note (std::unique_ptr< pending_note > pn) final override |
void | add_event (std::unique_ptr< checker_event > event) final override |
void | on_svalue_leak (const svalue *) override |
void | on_liveness_change (const svalue_set &live_svalues, const region_model *model) final override |
logger * | get_logger () final override |
void | on_state_leak (const state_machine &sm, const svalue *sval, state_machine::state_t state) |
void | on_condition (const svalue *lhs, enum tree_code op, const svalue *rhs) final override |
void | on_bounded_ranges (const svalue &sval, const bounded_ranges &ranges) final override |
void | on_pop_frame (const frame_region *frame_reg) final override |
void | on_unknown_change (const svalue *sval, bool is_mutable) final override |
void | on_phi (const gphi *phi, tree rhs) final override |
void | on_unexpected_tree_code (tree t, const dump_location_t &loc) final override |
void | on_escaped_function (tree fndecl) final override |
uncertainty_t * | get_uncertainty () final override |
void | purge_state_involving (const svalue *sval) final override |
void | bifurcate (std::unique_ptr< custom_edge_info > info) final override |
void | terminate_path () final override |
const extrinsic_state * | get_ext_state () const final 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 gimple * | get_stmt () const override |
const exploded_graph * | get_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) |
Data Fields | |
exploded_graph * | m_eg |
log_user | m_logger |
exploded_node * | m_enode_for_diag |
const program_state * | m_old_state |
program_state * | m_new_state |
const gimple * | m_stmt |
stmt_finder * | m_stmt_finder |
const extrinsic_state & | m_ext_state |
uncertainty_t * | m_uncertainty |
path_context * | m_path_ctxt |
bool * | m_out_could_have_done_work |
Concrete implementation of region_model_context, wiring it up to the rest of the analysis engine.
ana::impl_region_model_context::impl_region_model_context | ( | exploded_graph & | eg, |
exploded_node * | enode_for_diag, | ||
const program_state * | old_state, | ||
program_state * | new_state, | ||
uncertainty_t * | uncertainty, | ||
path_context * | path_ctxt, | ||
const gimple * | stmt, | ||
stmt_finder * | stmt_finder = NULL, | ||
bool * | out_could_have_done_work = nullptr ) |
ana::impl_region_model_context::impl_region_model_context | ( | program_state * | state, |
const extrinsic_state & | ext_state, | ||
uncertainty_t * | uncertainty, | ||
logger * | logger = NULL ) |
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
References m_eg.
|
inlinefinaloverridevirtual |
Implements ana::region_model_context.
References m_ext_state.
|
inlineinherited |
|
inlinefinaloverridevirtual |
Implements ana::region_model_context.
References ana::log_user::get_logger(), and m_logger.
|
inlineinherited |
References ana::region_model_context::get_state_map_by_name(), and NULL.
|
overridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
References m_stmt.
|
inlineinherited |
References ana::region_model_context::get_state_map_by_name(), and NULL.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
overridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
void ana::impl_region_model_context::on_state_leak | ( | const state_machine & | sm, |
const svalue * | sval, | ||
state_machine::state_t | state ) |
|
overridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
exploded_graph* ana::impl_region_model_context::m_eg |
Referenced by get_eg().
exploded_node* ana::impl_region_model_context::m_enode_for_diag |
const extrinsic_state& ana::impl_region_model_context::m_ext_state |
Referenced by get_ext_state().
log_user ana::impl_region_model_context::m_logger |
Referenced by get_logger().
program_state* ana::impl_region_model_context::m_new_state |
const program_state* ana::impl_region_model_context::m_old_state |
bool* ana::impl_region_model_context::m_out_could_have_done_work |
path_context* ana::impl_region_model_context::m_path_ctxt |
const gimple* ana::impl_region_model_context::m_stmt |
Referenced by get_stmt().
stmt_finder* ana::impl_region_model_context::m_stmt_finder |
uncertainty_t* ana::impl_region_model_context::m_uncertainty |