summaryrefslogtreecommitdiffstats
path: root/clang/Analysis/GRExprEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/Analysis/GRExprEngine.cpp')
-rw-r--r--clang/Analysis/GRExprEngine.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/Analysis/GRExprEngine.cpp b/clang/Analysis/GRExprEngine.cpp
index 674454c7cd3..c911064b99f 100644
--- a/clang/Analysis/GRExprEngine.cpp
+++ b/clang/Analysis/GRExprEngine.cpp
@@ -40,7 +40,7 @@ GRExprEngine::SetRVal(StateTy St, Expr* Ex, const RVal& V) {
return St;
}
- return StateMgr.SetRVal(St, Ex, isBlkExpr, V);
+ return StateMgr.SetRVal(St, Ex, V, isBlkExpr, false);
}
const GRExprEngine::StateTy::BufferTy&
@@ -606,7 +606,9 @@ void GRExprEngine::VisitGuardedExpr(Expr* Ex, Expr* L, Expr* R,
assert (SE);
X = GetBlkExprRVal(St, SE);
- Nodify(Dst, Ex, Pred, SetBlkExprRVal(St, Ex, X));
+
+ // Make sure that we invalidate the previous binding.
+ Nodify(Dst, Ex, Pred, StateMgr.SetRVal(St, Ex, X, true, true));
}
/// VisitSizeOfAlignOfTypeExpr - Transfer function for sizeof(type).
OpenPOWER on IntegriCloud