aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/LiveVariables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/LiveVariables.cpp')
-rw-r--r--lib/Analysis/LiveVariables.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/lib/Analysis/LiveVariables.cpp b/lib/Analysis/LiveVariables.cpp
index aa4626b205..3eecc89a08 100644
--- a/lib/Analysis/LiveVariables.cpp
+++ b/lib/Analysis/LiveVariables.cpp
@@ -232,18 +232,10 @@ static const VariableArrayType *FindVA(QualType Ty) {
}
static const Stmt *LookThroughStmt(const Stmt *S) {
- while (S) {
- if (const ParenExpr *ParenE = dyn_cast<ParenExpr>(S)) {
- S = ParenE->getSubExpr();
- continue;
- } else if (const OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(S)) {
- S = OVE->getSourceExpr();
- continue;
- } else if (const Expr *E = dyn_cast<Expr>(S)) {
- return E->IgnoreParens();
- } else
- break;
- }
+ if (const Expr *E = dyn_cast<Expr>(S))
+ return E->IgnoreParens();
+ if (const OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(S))
+ return OVE->IgnoreParens();
return S;
}