diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-03-08 21:00:45 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-03-08 21:00:45 +0000 |
commit | ba0495a3e178b4c04e7aaa96f592f3bfde2a6d21 (patch) | |
tree | 2f1546214a53993128196b284a57127370748319 /clang/lib/AST/Decl.cpp | |
parent | e6de8df54e761364f8e1666f4d79046713c25675 (diff) | |
download | bcm5719-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.cpp | 16 |
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 { |