diff options
Diffstat (limited to 'test/SemaObjC/opaque-is-access-warn.m')
-rw-r--r-- | test/SemaObjC/opaque-is-access-warn.m | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SemaObjC/opaque-is-access-warn.m b/test/SemaObjC/opaque-is-access-warn.m new file mode 100644 index 0000000000..ac0f724df6 --- /dev/null +++ b/test/SemaObjC/opaque-is-access-warn.m @@ -0,0 +1,24 @@ +// RUN: %clang -target x86_64-apple-darwin -arch arm64 -mios-version-min=7 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify +// 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 -mios-simulator-version-min=7 -fsyntax-only -Wdeprecated-objc-isa-usage %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()}} +} |