summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/opaque-is-access.m
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaObjC/opaque-is-access.m')
-rw-r--r--clang/test/SemaObjC/opaque-is-access.m23
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/opaque-is-access.m b/clang/test/SemaObjC/opaque-is-access.m
new file mode 100644
index 00000000000..89d91b35606
--- /dev/null
+++ b/clang/test/SemaObjC/opaque-is-access.m
@@ -0,0 +1,23 @@
+// RUN: %clang -target x86_64-apple-darwin -arch arm64 -mios-version-min=7 -fsyntax-only %s -Xclang -verify
+// RUN: %clang -target x86_64-apple-darwin -arch x86_64 -mios-simulator-version-min=7 -fsyntax-only %s -Xclang -verify
+// rdar://10709102
+
+typedef struct objc_object {
+ struct objc_class *isa;
+} *id;
+
+@interface NSObject {
+ struct objc_class *isa;
+}
+@end
+@interface Whatever : NSObject
++self;
+@end
+
+static void func() {
+
+ id x;
+
+ [(*x).isa self]; // expected-error {{direct access to Objective-C's isa is deprecated in favor of object_getClass()}}
+ [x->isa self]; // expected-error {{direct access to Objective-C's isa is deprecated in favor of object_getClass()}}
+}
OpenPOWER on IntegriCloud