// RUN: cp %s %t // RUN: %clang_cc1 -x objective-c -fixit %t // RUN: %clang_cc1 -x objective-c -Werror %t // rdar://13503456 void object_setClass(id, id); Class object_getClass(id); id rhs(); Class pr6302(id x123) { x123->isa = 0; x123->isa = rhs(); x123->isa = (id)(x123->isa); x123->isa = (id)x123->isa; x123->isa = (x123->isa); x123->isa = (id)(x123->isa); return x123->isa; } @interface BaseClass { @public Class isa; // expected-note 3 {{instance variable is declared here}} } @end @interface OtherClass { @public id firstIvar; Class isa; // note, not first ivar; } @end @interface Subclass : BaseClass @end @interface SiblingClass : BaseClass @end @interface Root @end @interface hasIsa : Root { @public Class isa; // note, isa is not in root class } @end @implementation Subclass -(void)method { hasIsa *u; id v; BaseClass *w; Subclass *x; SiblingClass *y; OtherClass *z; (void)v->isa; (void)w->isa; (void)x->isa; (void)y->isa; (void)z->isa; (void)u->isa; y->isa = 0; y->isa = w->isa; x->isa = rhs(); } @end