]> granicus.if.org Git - clang/commitdiff
[AST] VarDecl::hasDefinition() - Early exit if we find a strong definition.
authorDaniel Dunbar <daniel@zuster.org>
Tue, 6 Mar 2012 23:52:46 +0000 (23:52 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Tue, 6 Mar 2012 23:52:46 +0000 (23:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152166 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/Decl.cpp

index 1942e1e85299a3c4585975bd38cd603e33f8c84c..d5e048a7c4ad9c8ab7edfbf450595a43b2506248 100644 (file)
@@ -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;
 }