1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3 @interface Super @end 4 5 @interface INTFSTANDALONE : Super 6 { 7 id IVAR; // expected-note {{previous definition is here}} 8 } 9 10 @end 11 12 @implementation INTFSTANDALONE : Super // expected-warning {{class implementation may not have super class}} 13 { 14 id PRIV_IVAR; 15 @protected 16 id PRTCTD; 17 @private 18 id IVAR3; 19 int IVAR; // expected-error {{instance variable is already declared}} 20 @public 21 id IVAR4; 22 } 23 @end 24 25 @interface Base @end 26 27 @implementation Base { 28 int ivar1; 29 @public 30 int ivar2; 31 } 32 @end 33 34 id fn1(INTFSTANDALONE *b) { return b->PRIV_IVAR; } // expected-error {{instance variable 'PRIV_IVAR' is private}} 35 36 id fn2(INTFSTANDALONE *b) { return b->PRTCTD; } // expected-error {{instance variable 'PRTCTD' is protected}} 37 38 id fn4(INTFSTANDALONE *b) { return b->IVAR4; } 39 40