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 34id fn1(INTFSTANDALONE *b) { return b->PRIV_IVAR; } // expected-error {{instance variable 'PRIV_IVAR' is private}} 35 36id fn2(INTFSTANDALONE *b) { return b->PRTCTD; } // expected-error {{instance variable 'PRTCTD' is protected}} 37 38id fn4(INTFSTANDALONE *b) { return b->IVAR4; } 39 40