]> granicus.if.org Git - clang/commitdiff
Fix a C++ regression where redefinitions weren't diagnosed.
authorSebastian Redl <sebastian.redl@getdesigned.at>
Tue, 2 Feb 2010 17:55:12 +0000 (17:55 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Tue, 2 Feb 2010 17:55:12 +0000 (17:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95096 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/Decl.cpp

index 894206a84716c6fe8c45d4d04a98c0085b64c2b6..a2cf73849d51efe75d92184655a9c264b1733804 100644 (file)
@@ -553,7 +553,9 @@ bool VarDecl::isTentativeDefinitionNow() const {
 }
 
 VarDecl *VarDecl::getDefinition() {
-  for (redecl_iterator I = redecls_begin(), E = redecls_end(); I != E; ++I) {
+  VarDecl *First = getFirstDeclaration();
+  for (redecl_iterator I = First->redecls_begin(), E = First->redecls_end();
+       I != E; ++I) {
     if ((*I)->isThisDeclarationADefinition() == Definition)
       return *I;
   }