summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2010-02-02 17:55:12 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2010-02-02 17:55:12 +0000
commitccdb5ff17d9619956f0b79f2453604847d88debe (patch)
treea9fa6f3045f43fd78416788f59dee58b8e6e90ee /clang
parentefbaf99dca6c714e4a9edf1b5da4fe1d5a580d06 (diff)
downloadbcm5719-llvm-ccdb5ff17d9619956f0b79f2453604847d88debe.tar.gz
bcm5719-llvm-ccdb5ff17d9619956f0b79f2453604847d88debe.zip
Fix a C++ regression where redefinitions weren't diagnosed.
llvm-svn: 95096
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/AST/Decl.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 894206a8471..a2cf73849d5 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -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;
}
OpenPOWER on IntegriCloud