summaryrefslogtreecommitdiffstats
path: root/lib/AST/Decl.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2012-03-06 23:52:46 +0000
committerDaniel Dunbar <daniel@zuster.org>2012-03-06 23:52:46 +0000
commit047da195aee797341c86d38cc7e3a7e619274dab (patch)
tree52e340eb555c8ae17cafb0de4ff4ce4b03a5d232 /lib/AST/Decl.cpp
parent60d302a707fb35b9acf41bf5495296c4af947045 (diff)
[AST] VarDecl::hasDefinition() - Early exit if we find a strong definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152166 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r--lib/AST/Decl.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp
index 1942e1e852..d5e048a7c4 100644
--- a/lib/AST/Decl.cpp
+++ b/lib/AST/Decl.cpp
@@ -1313,8 +1313,11 @@ VarDecl::DefinitionKind VarDecl::hasDefinition() const {
const VarDecl *First = getFirstDeclaration();
for (redecl_iterator I = First->redecls_begin(), E = First->redecls_end();
- I != E; ++I)
+ I != E; ++I) {
Kind = std::max(Kind, (*I)->isThisDeclarationADefinition());
+ if (Kind == Definition)
+ break;
+ }
return Kind;
}