summaryrefslogtreecommitdiff
path: root/test/SemaObjCXX/objcbridge-attribute-arc.mm
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-04-22 17:42:01 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-04-22 17:42:01 +0000
commit4ab423cd70ddc40a8b8306ec468ef6436b3540e4 (patch)
treea4b355f84c7dafacd5d50d5b3dc88b56fffb72bd /test/SemaObjCXX/objcbridge-attribute-arc.mm
parent13e41baf7883704f60e86c06d794652330c2bd93 (diff)
downloadclang-4ab423cd70ddc40a8b8306ec468ef6436b3540e4.tar.gz
Objective-C ARC. Under ARC, addition of 'bridge' attribute
on CF type is not sufficient and bridge casting is still required for proper ownership semantics. // rdar://16650445 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206910 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjCXX/objcbridge-attribute-arc.mm')
-rw-r--r--test/SemaObjCXX/objcbridge-attribute-arc.mm6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/SemaObjCXX/objcbridge-attribute-arc.mm b/test/SemaObjCXX/objcbridge-attribute-arc.mm
index 0e184a4a29..4224854a69 100644
--- a/test/SemaObjCXX/objcbridge-attribute-arc.mm
+++ b/test/SemaObjCXX/objcbridge-attribute-arc.mm
@@ -64,9 +64,9 @@ typedef CFErrorRef1 CFErrorRef2; // expected-note 2 {{declared here}}
void Test2(CFErrorRef2 cf, NSError *ns, NSString *str, Class c, CFUColor2Ref cf2) {
(void)(NSString *)cf; // expected-warning {{'CFErrorRef2' (aka '__CFErrorRef *') bridges to NSError, not 'NSString'}}
- (void)(NSError *)cf; // okay
- (void)(MyError*)cf; // okay,
- (void)(NSUColor *)cf2; // okay
+ (void)(NSError *)cf; // expected-error {{under ARC 'CFErrorRef2' (aka '__CFErrorRef *') bridges to NSError, but it still requires an explicit bridge cast}}
+ (void)(MyError*)cf; // expected-error {{under ARC 'CFErrorRef2' (aka '__CFErrorRef *') bridges to NSError, but it still requires an explicit bridge cast}},
+ (void)(NSUColor *)cf2; // expected-error {{under ARC 'CFUColor2Ref' (aka '__CFUPrimeColor *') bridges to NSUColor, but it still requires an explicit bridge cast}}
(void)(CFErrorRef)ns; // okay
(void)(CFErrorRef)str; // expected-warning {{'NSString' cannot bridge to 'CFErrorRef' (aka '__CFErrorRef *')}}
(void)(Class)cf; // expected-warning {{'CFErrorRef2' (aka '__CFErrorRef *') bridges to NSError, not 'Class'}}