emitting any diagnostics to CTXT. */
const region *
-region_model::get_lvalue_1 (path_var pv, region_model_context *ctxt)
+region_model::get_lvalue_1 (path_var pv, region_model_context *ctxt) const
{
tree expr = pv.m_tree;
emitting any diagnostics to CTXT. */
const region *
-region_model::get_lvalue (path_var pv, region_model_context *ctxt)
+region_model::get_lvalue (path_var pv, region_model_context *ctxt) const
{
if (pv.m_tree == NULL_TREE)
return NULL;
recent stack frame if it's a local). */
const region *
-region_model::get_lvalue (tree expr, region_model_context *ctxt)
+region_model::get_lvalue (tree expr, region_model_context *ctxt) const
{
return get_lvalue (path_var (expr, get_stack_depth () - 1), ctxt);
}
emitting any diagnostics to CTXT. */
const svalue *
-region_model::get_rvalue_1 (path_var pv, region_model_context *ctxt)
+region_model::get_rvalue_1 (path_var pv, region_model_context *ctxt) const
{
gcc_assert (pv.m_tree);
emitting any diagnostics to CTXT. */
const svalue *
-region_model::get_rvalue (path_var pv, region_model_context *ctxt)
+region_model::get_rvalue (path_var pv, region_model_context *ctxt) const
{
if (pv.m_tree == NULL_TREE)
return NULL;
recent stack frame if it's a local). */
const svalue *
-region_model::get_rvalue (tree expr, region_model_context *ctxt)
+region_model::get_rvalue (tree expr, region_model_context *ctxt) const
{
return get_rvalue (path_var (expr, get_stack_depth () - 1), ctxt);
}
const region *
region_model::deref_rvalue (const svalue *ptr_sval, tree ptr_tree,
- region_model_context *ctxt)
+ region_model_context *ctxt) const
{
gcc_assert (ptr_sval);
gcc_assert (POINTER_TYPE_P (ptr_sval->get_type ()));
const svalue *
region_model::get_rvalue_for_bits (tree type,
const region *reg,
- const bit_range &bits)
+ const bit_range &bits) const
{
const svalue *sval = get_store_value (reg);
if (const compound_svalue *compound_sval = sval->dyn_cast_compound_svalue ())
int get_stack_depth () const;
const frame_region *get_frame_at_index (int index) const;
- const region *get_lvalue (path_var pv, region_model_context *ctxt);
- const region *get_lvalue (tree expr, region_model_context *ctxt);
- const svalue *get_rvalue (path_var pv, region_model_context *ctxt);
- const svalue *get_rvalue (tree expr, region_model_context *ctxt);
+ const region *get_lvalue (path_var pv, region_model_context *ctxt) const;
+ const region *get_lvalue (tree expr, region_model_context *ctxt) const;
+ const svalue *get_rvalue (path_var pv, region_model_context *ctxt) const;
+ const svalue *get_rvalue (tree expr, region_model_context *ctxt) const;
const region *deref_rvalue (const svalue *ptr_sval, tree ptr_tree,
- region_model_context *ctxt);
+ region_model_context *ctxt) const;
const svalue *get_rvalue_for_bits (tree type,
const region *reg,
- const bit_range &bits);
+ const bit_range &bits) const;
void set_value (const region *lhs_reg, const svalue *rhs_sval,
region_model_context *ctxt);
void loop_replay_fixup (const region_model *dst_state);
private:
- const region *get_lvalue_1 (path_var pv, region_model_context *ctxt);
- const svalue *get_rvalue_1 (path_var pv, region_model_context *ctxt);
+ const region *get_lvalue_1 (path_var pv, region_model_context *ctxt) const;
+ const svalue *get_rvalue_1 (path_var pv, region_model_context *ctxt) const;
path_var
get_representative_path_var_1 (const svalue *sval,