aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-02-14 07:22:29 +0000
committerChris Lattner <sabre@nondot.org>2009-02-14 07:22:29 +0000
commit90e150d7f40e24ed6f8d268e7d83b2f15153c1ee (patch)
treedaee2d2d4146cdfeb7a7897537437e2c658ea106
parenta3d1eb85853eae7b719f679b40923826b5e4b7df (diff)
reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64542 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Sema/SemaExpr.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index cec771d4e5..ee3ef04084 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -1897,21 +1897,18 @@ Sema::ActOnCallExpr(Scope *S, ExprArg fn, SourceLocation LParenLoc,
cast<UnaryOperator>(FnExpr)->getOpcode()
== UnaryOperator::AddrOf) {
FnExpr = cast<UnaryOperator>(FnExpr)->getSubExpr();
+ } else if ((DRExpr = dyn_cast<DeclRefExpr>(FnExpr))) {
+ // Qualified names disable ADL (C++0x [basic.lookup.argdep]p1).
+ ADL &= !isa<QualifiedDeclRefExpr>(DRExpr);
+ break;
+ } else if (UnresolvedFunctionNameExpr *DepName
+ = dyn_cast<UnresolvedFunctionNameExpr>(FnExpr)) {
+ UnqualifiedName = DepName->getName();
+ break;
} else {
- if (isa<DeclRefExpr>(FnExpr)) {
- DRExpr = cast<DeclRefExpr>(FnExpr);
-
- // Qualified names disable ADL (C++0x [basic.lookup.argdep]p1).
- ADL = ADL && !isa<QualifiedDeclRefExpr>(DRExpr);
- }
- else if (UnresolvedFunctionNameExpr *DepName
- = dyn_cast<UnresolvedFunctionNameExpr>(FnExpr))
- UnqualifiedName = DepName->getName();
- else {
- // Any kind of name that does not refer to a declaration (or
- // set of declarations) disables ADL (C++0x [basic.lookup.argdep]p3).
- ADL = false;
- }
+ // Any kind of name that does not refer to a declaration (or
+ // set of declarations) disables ADL (C++0x [basic.lookup.argdep]p3).
+ ADL = false;
break;
}
}