aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-01-12 01:17:50 +0000
committerDouglas Gregor <dgregor@apple.com>2010-01-12 01:17:50 +0000
commit3f477a1a804ead812781168bd354af2adefddde8 (patch)
tree42407d183cdb89d4e046b3144be22ab00319d00f /lib/Sema
parent4248491ce435bf6c96dcd79149863f4c7e9cabfa (diff)
Name lookup should know better than to look into a class before it's defined
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93217 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema')
-rw-r--r--lib/Sema/SemaLookup.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Sema/SemaLookup.cpp b/lib/Sema/SemaLookup.cpp
index bff7881eb6..0ab01fe7f5 100644
--- a/lib/Sema/SemaLookup.cpp
+++ b/lib/Sema/SemaLookup.cpp
@@ -460,7 +460,9 @@ static bool LookupDirect(LookupResult &R, const DeclContext *DC) {
// name lookup. Instead, any conversion function templates visible in the
// context of the use are considered. [...]
const CXXRecordDecl *Record = cast<CXXRecordDecl>(DC);
-
+ if (!Record->isDefinition())
+ return Found;
+
const UnresolvedSet *Unresolved = Record->getConversionFunctions();
for (UnresolvedSet::iterator U = Unresolved->begin(),
UEnd = Unresolved->end();