66 lines · plain
1// RUN: cp %s %t2// RUN: %clang_cc1 -x objective-c -fixit %t3// RUN: %clang_cc1 -x objective-c -Werror %t4 5void object_setClass(id, id);6Class object_getClass(id);7 8id rhs(void);9 10Class pr6302(id x123) {11 x123->isa = 0;12 x123->isa = rhs();13 x123->isa = (id)(x123->isa);14 x123->isa = (id)x123->isa;15 x123->isa = (x123->isa);16 x123->isa = (id)(x123->isa);17 return x123->isa;18}19 20 21@interface BaseClass {22@public23 Class isa; // expected-note 3 {{instance variable is declared here}}24}25@end26 27@interface OtherClass {28@public29 id firstIvar;30 Class isa; // note, not first ivar;31}32@end33 34@interface Subclass : BaseClass @end35 36@interface SiblingClass : BaseClass @end37 38@interface Root @end39 40@interface hasIsa : Root {41@public42 Class isa; // note, isa is not in root class43}44@end45 46@implementation Subclass47-(void)method {48 hasIsa *u;49 id v;50 BaseClass *w;51 Subclass *x;52 SiblingClass *y;53 OtherClass *z;54 (void)v->isa; 55 (void)w->isa;56 (void)x->isa;57 (void)y->isa;58 (void)z->isa;59 (void)u->isa;60 y->isa = 0;61 y->isa = w->isa;62 x->isa = rhs();63}64@end65 66