summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-10-29 23:08:22 +0000
committerDouglas Gregor <dgregor@apple.com>2009-10-29 23:08:22 +0000
commite6fb91f2cbad71deb9e9c4980e9874119fa7772b (patch)
tree7d4f22a0cc6eb2e3ebe241f52dc8d1f3fd87d26d /clang/lib/Sema/SemaOverload.cpp
parentd4b78d38d4886640364e9dbc3a84c29d0e90f948 (diff)
downloadbcm5719-llvm-e6fb91f2cbad71deb9e9c4980e9874119fa7772b.tar.gz
bcm5719-llvm-e6fb91f2cbad71deb9e9c4980e9874119fa7772b.zip
We may need to instantiate a class template specialization as part of a derived-to-base pointer case
llvm-svn: 85532
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index bdaf6e4d925..946e28269eb 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -999,6 +999,7 @@ bool Sema::IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
// here. That is handled by CheckPointerConversion.
if (getLangOptions().CPlusPlus &&
FromPointeeType->isRecordType() && ToPointeeType->isRecordType() &&
+ !RequireCompleteType(From->getLocStart(), FromPointeeType, PDiag()) &&
IsDerivedFrom(FromPointeeType, ToPointeeType)) {
ConvertedType = BuildSimilarlyQualifiedPointerType(FromTypePtr,
ToPointeeType,
OpenPOWER on IntegriCloud