parent
8411e168f8
commit
6d5fe08e1b
|
|
@ -660,7 +660,7 @@ protected:
|
|||
// loads aren't fully implemented. Eventually this option will go away.
|
||||
|
||||
void EvalLoad(NodeSet& Dst, Expr* Ex, NodeTy* Pred,
|
||||
const GRState* St, SVal location, bool CheckOnly = false);
|
||||
const GRState* St, SVal location);
|
||||
|
||||
NodeTy* EvalLocation(Stmt* Ex, NodeTy* Pred,
|
||||
const GRState* St, SVal location);
|
||||
|
|
|
|||
|
|
@ -978,8 +978,7 @@ void GRExprEngine::EvalStore(NodeSet& Dst, Expr* Ex, NodeTy* Pred,
|
|||
}
|
||||
|
||||
void GRExprEngine::EvalLoad(NodeSet& Dst, Expr* Ex, NodeTy* Pred,
|
||||
const GRState* St, SVal location,
|
||||
bool CheckOnly) {
|
||||
const GRState* St, SVal location) {
|
||||
|
||||
// Evaluate the location (checks for bad dereferences).
|
||||
Pred = EvalLocation(Ex, Pred, St, location);
|
||||
|
|
@ -995,15 +994,6 @@ void GRExprEngine::EvalLoad(NodeSet& Dst, Expr* Ex, NodeTy* Pred,
|
|||
// FIXME: Currently symbolic analysis "generates" new symbols
|
||||
// for the contents of values. We need a better approach.
|
||||
|
||||
// FIXME: The "CheckOnly" option exists only because Array and Field
|
||||
// loads aren't fully implemented. Eventually this option will go away.
|
||||
assert(!CheckOnly);
|
||||
|
||||
if (CheckOnly) {
|
||||
Dst.Add(Pred);
|
||||
return;
|
||||
}
|
||||
|
||||
if (location.isUnknown()) {
|
||||
// This is important. We must nuke the old binding.
|
||||
MakeNode(Dst, Ex, Pred, BindExpr(St, Ex, UnknownVal()), K);
|
||||
|
|
|
|||
Loading…
Reference in New Issue