summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/objc-mixed-bridge-attribute.m
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaObjC/objc-mixed-bridge-attribute.m')
-rw-r--r--clang/test/SemaObjC/objc-mixed-bridge-attribute.m33
1 files changed, 29 insertions, 4 deletions
diff --git a/clang/test/SemaObjC/objc-mixed-bridge-attribute.m b/clang/test/SemaObjC/objc-mixed-bridge-attribute.m
index 5fa34731967..83fb4d3cc49 100644
--- a/clang/test/SemaObjC/objc-mixed-bridge-attribute.m
+++ b/clang/test/SemaObjC/objc-mixed-bridge-attribute.m
@@ -15,12 +15,37 @@ typedef struct __attribute__((objc_bridge_mutable(NSMutableAttributedString))) _
struct __CFAttributedString {
};
-void Test1(CFAttributedStringRef attrStr)
+void Test1(CFAttributedStringRef attrStr, CFMutableAttributedStringRef mutable_attrStr)
{
- id x = (NSAttributedString *) attrStr; // no warning
+ id x = (NSAttributedString *) attrStr;
+ id x1 =(NSAttributedString *) mutable_attrStr;
+ id x2 = (NSMutableAttributedString *) attrStr;
+ id x3 = (NSMutableAttributedString *) mutable_attrStr;
}
-void Test2(NSAttributedString *attrStr) {
- CFAttributedStringRef cfsr = (CFAttributedStringRef) attrStr;
+void Test2(NSAttributedString *ns_attrStr, NSMutableAttributedString *ns_mutable_attr_Str) {
+ CFAttributedStringRef cfsr = (CFAttributedStringRef) ns_attrStr;
+ CFMutableAttributedStringRef cfsr1 = (CFMutableAttributedStringRef) ns_attrStr;
+ CFAttributedStringRef cfsr2 = (CFAttributedStringRef) ns_mutable_attr_Str;
+ CFMutableAttributedStringRef cfsr3 = (CFMutableAttributedStringRef) ns_mutable_attr_Str;
}
+// Tests with no definition declaration for struct __NDCFAttributedString.
+typedef const struct __attribute__((objc_bridge(NSAttributedString))) __NDCFAttributedString *NDCFAttributedStringRef;
+
+typedef struct __attribute__((objc_bridge_mutable(NSMutableAttributedString))) __NDCFAttributedString *NDCFMutableAttributedStringRef;
+
+void Test3(NDCFAttributedStringRef attrStr, NDCFMutableAttributedStringRef mutable_attrStr)
+{
+ id x = (NSAttributedString *) attrStr;
+ id x1 =(NSAttributedString *) mutable_attrStr;
+ id x2 = (NSMutableAttributedString *) attrStr;
+ id x3 = (NSMutableAttributedString *) mutable_attrStr;
+}
+
+void Test4(NSAttributedString *ns_attrStr, NSMutableAttributedString *ns_mutable_attr_Str) {
+ NDCFAttributedStringRef cfsr = (NDCFAttributedStringRef) ns_attrStr;
+ NDCFMutableAttributedStringRef cfsr1 = (NDCFMutableAttributedStringRef) ns_attrStr;
+ NDCFAttributedStringRef cfsr2 = (NDCFAttributedStringRef) ns_mutable_attr_Str;
+ NDCFMutableAttributedStringRef cfsr3 = (NDCFMutableAttributedStringRef) ns_mutable_attr_Str;
+}
OpenPOWER on IntegriCloud