diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2014-06-18 22:50:40 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-06-18 22:50:40 +0000 |
commit | 8e5db87d610ae45c13af64cb8457b11b6e363d26 (patch) | |
tree | 0c709e8221d709338d04e1222c04b1ff1672c56e /lib/Sema/SemaExprObjC.cpp | |
parent | ba5449005fc98569e023fcf9595d6e9f542ba41b (diff) | |
download | clang-8e5db87d610ae45c13af64cb8457b11b6e363d26.tar.gz clang-8e5db87d610ae45c13af64cb8457b11b6e363d26.tar.bz2 clang-8e5db87d610ae45c13af64cb8457b11b6e363d26.tar.xz |
Objective-C ARC. Allow conversion of (void*) pointers to
retainable ObjC pointers without requiring a bridge-cast
by recognizing this as a +0 context. // rdar://16627903
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211234 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaExprObjC.cpp')
-rw-r--r-- | lib/Sema/SemaExprObjC.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Sema/SemaExprObjC.cpp b/lib/Sema/SemaExprObjC.cpp index 57e1681fe4..23c57cf139 100644 --- a/lib/Sema/SemaExprObjC.cpp +++ b/lib/Sema/SemaExprObjC.cpp @@ -3168,7 +3168,9 @@ diagnoseObjCARCConversion(Sema &S, SourceRange castRange, if ((castACTC == ACTC_coreFoundation && exprACTC == ACTC_retainable && ObjCBridgeRelatedAttrFromType(castType, TDNDecl)) || (exprACTC == ACTC_coreFoundation && castACTC == ACTC_retainable && - ObjCBridgeRelatedAttrFromType(castExprType, TDNDecl))) + ObjCBridgeRelatedAttrFromType(castExprType, TDNDecl)) || + (exprACTC ==ACTC_voidPtr && castACTC == ACTC_retainable && + CCK == Sema::CCK_ImplicitConversion)) return; unsigned srcKind = 0; |