summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Decl.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-03-08 21:00:45 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-03-08 21:00:45 +0000
commitba0495a3e178b4c04e7aaa96f592f3bfde2a6d21 (patch)
tree2f1546214a53993128196b284a57127370748319 /clang/lib/AST/Decl.cpp
parente6de8df54e761364f8e1666f4d79046713c25675 (diff)
downloadbcm5719-llvm-ba0495a3e178b4c04e7aaa96f592f3bfde2a6d21.tar.gz
bcm5719-llvm-ba0495a3e178b4c04e7aaa96f592f3bfde2a6d21.zip
Untangle getUnderlyingDeclImpl, no functionality change.
llvm-svn: 152339
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r--clang/lib/AST/Decl.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index f2ac5c14a15..2f42607eab6 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -985,15 +985,13 @@ bool NamedDecl::hasLinkage() const {
NamedDecl *NamedDecl::getUnderlyingDeclImpl() {
NamedDecl *ND = this;
- while (true) {
- if (UsingShadowDecl *UD = dyn_cast<UsingShadowDecl>(ND))
- ND = UD->getTargetDecl();
- else if (ObjCCompatibleAliasDecl *AD
- = dyn_cast<ObjCCompatibleAliasDecl>(ND))
- return AD->getClassInterface();
- else
- return ND;
- }
+ while (UsingShadowDecl *UD = dyn_cast<UsingShadowDecl>(ND))
+ ND = UD->getTargetDecl();
+
+ if (ObjCCompatibleAliasDecl *AD = dyn_cast<ObjCCompatibleAliasDecl>(ND))
+ return AD->getClassInterface();
+
+ return ND;
}
bool NamedDecl::isCXXInstanceMember() const {
OpenPOWER on IntegriCloud