|
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=nullptr, bool *out_could_have_done_work=nullptr) | |
| impl_region_model_context (program_state *state, const extrinsic_state &ext_state, uncertainty_t *uncertainty, logger *logger=nullptr) | |
| bool | warn (std::unique_ptr< pending_diagnostic > d, const stmt_finder *custom_finder=nullptr) 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 |
| const program_state * | get_state () 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 = nullptr, | ||
| bool * | out_could_have_done_work = nullptr ) |
References ana::stmt.
| ana::impl_region_model_context::impl_region_model_context | ( | program_state * | state, |
| const extrinsic_state & | ext_state, | ||
| uncertainty_t * | uncertainty, | ||
| logger * | logger = nullptr ) |
|
finaloverridevirtual |
Implements ana::region_model_context.
References add_event(), and final().
Referenced by add_event().
|
finaloverridevirtual |
|
finaloverridevirtual |
Implements ana::region_model_context.
References bifurcate(), and final().
Referenced by bifurcate().
|
inlineoverridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
References m_eg.
|
inlinefinaloverridevirtual |
Implements ana::region_model_context.
References final(), get_ext_state(), and m_ext_state.
Referenced by get_ext_state().
|
inlineinherited |
References get_state_map_by_name().
|
inlinefinaloverridevirtual |
Implements ana::region_model_context.
References final(), get_logger(), and m_logger.
Referenced by get_logger().
|
inlineinherited |
References get_state_map_by_name().
|
inlineoverridevirtual |
Implements ana::region_model_context.
References m_new_state.
|
overridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
References m_stmt.
|
inlineinherited |
References get_state_map_by_name().
|
finaloverridevirtual |
Implements ana::region_model_context.
References final().
|
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.
References final(), and on_liveness_change().
Referenced by on_liveness_change().
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 |
|
finaloverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
|
inlineoverridevirtual |
Implements ana::region_model_context.
|
finaloverridevirtual |
Implements ana::region_model_context.
References final(), and purge_state_involving().
Referenced by purge_state_involving().
|
finaloverridevirtual |
Implements ana::region_model_context.
References final(), and terminate_path().
Referenced by terminate_path().
|
finaloverridevirtual |
Implements ana::region_model_context.
References final().
| 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 |
Referenced by get_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 |