aboutsummaryrefslogtreecommitdiff
path: root/lib/Checker/GRExprEngine.cpp
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2010-12-18 05:16:43 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2010-12-18 05:16:43 +0000
commit9c2bac02c1d1204bcf2c5a025ab901d09bc7ae26 (patch)
tree2effb14e4101f261c8fbb0ffc5aa948480d1c1f3 /lib/Checker/GRExprEngine.cpp
parentd5b08bee799d4f77f1a25fa5977ca77b983ab031 (diff)
The evaluation of dereference and address-of is identical.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122146 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/GRExprEngine.cpp')
-rw-r--r--lib/Checker/GRExprEngine.cpp15
1 files changed, 1 insertions, 14 deletions
diff --git a/lib/Checker/GRExprEngine.cpp b/lib/Checker/GRExprEngine.cpp
index 6a383e2e42..2977835f82 100644
--- a/lib/Checker/GRExprEngine.cpp
+++ b/lib/Checker/GRExprEngine.cpp
@@ -2804,6 +2804,7 @@ void GRExprEngine::VisitUnaryOperator(const UnaryOperator* U,
assert(!U->isLValue());
// FALL-THROUGH.
case UO_Deref:
+ case UO_AddrOf:
case UO_Extension: {
// Unary "+" is a no-op, similar to a parentheses. We still have places
@@ -2823,20 +2824,6 @@ void GRExprEngine::VisitUnaryOperator(const UnaryOperator* U,
return;
}
- case UO_AddrOf: {
- assert(!U->isLValue());
- const Expr* Ex = U->getSubExpr()->IgnoreParens();
- ExplodedNodeSet Tmp;
- Visit(Ex, Pred, Tmp);
- for (ExplodedNodeSet::iterator I=Tmp.begin(), E=Tmp.end(); I!=E; ++I) {
- const GRState* state = GetState(*I);
- SVal V = state->getSVal(Ex);
- state = state->BindExpr(U, V);
- MakeNode(Dst, U, *I, state);
- }
- return;
- }
-
case UO_LNot:
case UO_Minus:
case UO_Not: {