From 41ee94afe029c891e8960141ba71a3451a42d6ae Mon Sep 17 00:00:00 2001 From: Martin Nowack Date: Mon, 4 Nov 2019 16:42:51 +0000 Subject: Use `ref<>` for MemoryObject handling This uses the `ref<>`-based memory handling of MemoryObjects. This makes it explicit that references are held in: - ExecutionState::symbolics - ObjectState --- lib/Solver/MetaSMTBuilder.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/Solver/MetaSMTBuilder.h') diff --git a/lib/Solver/MetaSMTBuilder.h b/lib/Solver/MetaSMTBuilder.h index 3112495d..376ffe25 100644 --- a/lib/Solver/MetaSMTBuilder.h +++ b/lib/Solver/MetaSMTBuilder.h @@ -182,7 +182,7 @@ MetaSMTBuilder::getArrayForUpdate(const Array *root, if (!hashed) { un_expr = evaluate(_solver, metaSMT::logic::Array::store( - getArrayForUpdate(root, un->next), + getArrayForUpdate(root, un->next.get()), construct(un->index, 0), construct(un->value, 0))); _arr_hash.hashUpdateNodeExpr(un, un_expr); } @@ -680,10 +680,10 @@ MetaSMTBuilder::constructActual(ref e, int *width_out) { assert(re && re->updates.root); *width_out = re->updates.root->getRange(); // FixMe call method of Array - res = evaluate(_solver, - metaSMT::logic::Array::select( - getArrayForUpdate(re->updates.root, re->updates.head), - construct(re->index, 0))); + res = evaluate(_solver, metaSMT::logic::Array::select( + getArrayForUpdate(re->updates.root, + re->updates.head.get()), + construct(re->index, 0))); break; } -- cgit 1.4.1