diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-12-18 05:16:43 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-12-18 05:16:43 +0000 |
commit | 9c2bac02c1d1204bcf2c5a025ab901d09bc7ae26 (patch) | |
tree | 2effb14e4101f261c8fbb0ffc5aa948480d1c1f3 /lib/Checker/GRExprEngine.cpp | |
parent | d5b08bee799d4f77f1a25fa5977ca77b983ab031 (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.cpp | 15 |
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: { |