1 // RUN: %clang -target x86_64-apple-darwin -arch arm64 -mios-version-min=7 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify 2 // RUN: %clang -target x86_64-apple-darwin -arch arm64 -mios-version-min=7 -fsyntax-only %s -Xclang -verify 3 // RUN: %clang -target x86_64-apple-darwin -mios-simulator-version-min=7 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify 4 // RUN: %clang -target x86_64-apple-darwin -arch armv7k -mwatchos-version-min=2 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify 5 // rdar://10709102 6 // RUN: %clang -target x86_64-apple-darwin -arch x86_64 -fsyntax-only -Wdeprecated-objc-isa-usage %s -Xclang -verify 7 8 typedef struct objc_object { 9 struct objc_class *isa; 10 } *id; 11 12 @interface NSObject { 13 struct objc_class *isa; 14 } 15 @end 16 @interface Whatever : NSObject 17 +self; 18 @end 19 20 static void func() { 21 22 id x; 23 24 [(*x).isa self]; // expected-error {{direct access to Objective-C's isa is deprecated in favor of object_getClass()}} 25 [x->isa self]; // expected-error {{direct access to Objective-C's isa is deprecated in favor of object_getClass()}} 26 } 27