diff options
Diffstat (limited to 'Analysis/ValueState.cpp')
-rw-r--r-- | Analysis/ValueState.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Analysis/ValueState.cpp b/Analysis/ValueState.cpp index 00b6607536..1b08d8ea39 100644 --- a/Analysis/ValueState.cpp +++ b/Analysis/ValueState.cpp @@ -155,6 +155,10 @@ LValue ValueStateManager::GetLValue(const StateTy& St, Stmt* S) { if (DeclRefExpr* DR = dyn_cast<DeclRefExpr>(S)) return lval::DeclVal(DR->getDecl()); + if (UnaryOperator* U = dyn_cast<UnaryOperator>(S)) + if (U->getOpcode() == UnaryOperator::Deref) + return cast<LValue>(GetValue(St, U->getSubExpr())); + return cast<LValue>(GetValue(St, S)); } |