summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-10-26 06:40:27 +0000
committerJohn McCall <rjmccall@apple.com>2010-10-26 06:40:27 +0000
commit75851b1a7f5b758158e63aff066f35a377ac7c5d (patch)
tree4d311d13eee6ffccab6f8af768e39d10b0dadf68
parentf28e83a73a6cd0061a465aa977e9838fda5b6daa (diff)
downloadbcm5719-llvm-75851b1a7f5b758158e63aff066f35a377ac7c5d.tar.gz
bcm5719-llvm-75851b1a7f5b758158e63aff066f35a377ac7c5d.zip
Actually, that doesn't really work, and anyway we should choose
conversion to id over conversion to void*. llvm-svn: 117355
-rw-r--r--clang/lib/Sema/SemaOverload.cpp11
-rw-r--r--clang/test/SemaObjCXX/overload.mm2
2 files changed, 2 insertions, 11 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 7244582829e..8f653d1df08 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -200,9 +200,6 @@ bool StandardConversionSequence::isPointerConversionToBool() const {
/// conversion is a conversion of a pointer to a void pointer. This is
/// used as part of the ranking of standard conversion sequences (C++
/// 13.3.3.2p4).
-///
-/// Note that we treat conversions of Objective-C pointers to
-/// unqualified 'id' as having this same rank.
bool
StandardConversionSequence::
isPointerConversionToVoidPointer(ASTContext& Context) const {
@@ -215,15 +212,9 @@ isPointerConversionToVoidPointer(ASTContext& Context) const {
if (First == ICK_Array_To_Pointer)
FromType = Context.getArrayDecayedType(FromType);
- if (Second == ICK_Pointer_Conversion && FromType->isPointerType()) {
+ if (Second == ICK_Pointer_Conversion && FromType->isPointerType())
if (const PointerType* ToPtrType = ToType->getAs<PointerType>())
return ToPtrType->getPointeeType()->isVoidType();
- } else if (Second == ICK_Pointer_Conversion &&
- FromType->isObjCObjectPointerType()) {
- if (const ObjCObjectPointerType *ToPtrType =
- ToType->getAs<ObjCObjectPointerType>())
- return ToPtrType->isObjCIdType();
- }
return false;
}
diff --git a/clang/test/SemaObjCXX/overload.mm b/clang/test/SemaObjCXX/overload.mm
index f8c917cf2ab..b824fa64b73 100644
--- a/clang/test/SemaObjCXX/overload.mm
+++ b/clang/test/SemaObjCXX/overload.mm
@@ -120,6 +120,6 @@ namespace test6 {
void foo(A*) __attribute__((unavailable)); // expected-note {{explicitly made unavailable}}
void test(B *b) {
- foo(b); // expected-error {{call to unavailable function}}
+ foo(b); // expected-error {{call to 'foo' is ambiguous}}
}
}
OpenPOWER on IntegriCloud