| // 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 |
| // RUN: %clang -target x86_64-apple-darwin -arch armv7k -mwatchos-version-min=2 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify |
| // rdar://10709102 |
| // RUN: %clang -target x86_64-apple-darwin -arch x86_64 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify |
| |
| 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()}} |
| } |