diff options
| author | John McCall <rjmccall@apple.com> | 2010-10-26 06:40:27 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2010-10-26 06:40:27 +0000 |
| commit | 75851b1a7f5b758158e63aff066f35a377ac7c5d (patch) | |
| tree | 4d311d13eee6ffccab6f8af768e39d10b0dadf68 | |
| parent | f28e83a73a6cd0061a465aa977e9838fda5b6daa (diff) | |
| download | bcm5719-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.cpp | 11 | ||||
| -rw-r--r-- | clang/test/SemaObjCXX/overload.mm | 2 |
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}} } } |

