diff options
Diffstat (limited to 'clang/test/SemaObjC/opaque-is-access.m')
-rw-r--r-- | clang/test/SemaObjC/opaque-is-access.m | 23 |
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()}} +} |