summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-02-22 17:06:41 +0000
committerDouglas Gregor <dgregor@apple.com>2010-02-22 17:06:41 +0000
commitd28f0412e40612785175c53def8ed2dee0ae1c0a (patch)
tree01d8a2e2e487bd07eea3f555c5878ec3e350dc1e /clang/lib/Sema/SemaOverload.cpp
parentf4f2e0247f583d4eb91fb86a114e3f9eb79c34f4 (diff)
downloadbcm5719-llvm-d28f0412e40612785175c53def8ed2dee0ae1c0a.tar.gz
bcm5719-llvm-d28f0412e40612785175c53def8ed2dee0ae1c0a.zip
Do not require a complete type when checking for a pointer conversion
between cv1 T* and cv2 T*. llvm-svn: 96787
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 1c6fd17c381..b3b665c1b6d 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -1094,6 +1094,7 @@ bool Sema::IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
// here. That is handled by CheckPointerConversion.
if (getLangOptions().CPlusPlus &&
FromPointeeType->isRecordType() && ToPointeeType->isRecordType() &&
+ !Context.hasSameUnqualifiedType(FromPointeeType, ToPointeeType) &&
!RequireCompleteType(From->getLocStart(), FromPointeeType, PDiag()) &&
IsDerivedFrom(FromPointeeType, ToPointeeType)) {
ConvertedType = BuildSimilarlyQualifiedPointerType(FromTypePtr,
OpenPOWER on IntegriCloud