summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/objcbridge-attribute.m
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-11-16 19:16:32 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-11-16 19:16:32 +0000
commit8a0210e535c5dc712f03bb323242e4d9bfa89fd8 (patch)
treec82b1baac3314ff9026d9837318e035ece5f0c9a /clang/test/SemaObjC/objcbridge-attribute.m
parentc6f955763ebc7d7830845ce2393493bf5357b8c1 (diff)
downloadbcm5719-llvm-8a0210e535c5dc712f03bb323242e4d9bfa89fd8.tar.gz
bcm5719-llvm-8a0210e535c5dc712f03bb323242e4d9bfa89fd8.zip
ObjectiveC ARC. Validate toll free bridge casting
of ObjectiveC objects to CF types when CF type has the objc_bridge attribute. llvm-svn: 194930
Diffstat (limited to 'clang/test/SemaObjC/objcbridge-attribute.m')
-rw-r--r--clang/test/SemaObjC/objcbridge-attribute.m6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/test/SemaObjC/objcbridge-attribute.m b/clang/test/SemaObjC/objcbridge-attribute.m
index 4379c6fc8e9..d961528ebde 100644
--- a/clang/test/SemaObjC/objcbridge-attribute.m
+++ b/clang/test/SemaObjC/objcbridge-attribute.m
@@ -1,7 +1,7 @@
// RUN: %clang_cc1 -fsyntax-only -fobjc-arc -verify -Wno-objc-root-class %s
// rdar://15454846
-typedef struct __CFErrorRef * __attribute__ ((objc_bridge(NSError))) CFErrorRef;
+typedef struct __CFErrorRef * __attribute__ ((objc_bridge(NSError))) CFErrorRef; // expected-note {{declared here}}
typedef struct __CFMyColor * __attribute__((objc_bridge(12))) CFMyColorRef; // expected-error {{parameter of 'objc_bridge' attribute must be a single name of an Objective-C class}}
@@ -48,8 +48,10 @@ typedef CFErrorRef1 CFErrorRef2;
@class NSString;
-void Test2(CFErrorRef2 cf) {
+void Test2(CFErrorRef2 cf, NSError *ns, NSString *str) {
(void)(NSString *)cf; // expected-warning {{CFErrorRef bridges to NSError, not NSString}}
(void)(NSError *)cf; // okay
(void)(MyError*)cf; // okay,
+ (void)(CFErrorRef)ns; // okay
+ (void)(CFErrorRef)str; // expected-warning {{NSString cannot bridge to CFErrorRef}}
}
OpenPOWER on IntegriCloud