1*67e74705SXin Li// RUN: %clang_cc1 -fobjc-runtime=macosx-fragile-10.5 -fsyntax-only -verify -Wno-objc-root-class %s 2*67e74705SXin Li 3*67e74705SXin Li@interface INTF 4*67e74705SXin Li{ 5*67e74705SXin Li@public 6*67e74705SXin Li int IVAR; // expected-note {{previous definition is here}} 7*67e74705SXin Li} 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Li@implementation INTF 11*67e74705SXin Li{ 12*67e74705SXin Li@private 13*67e74705SXin Li 14*67e74705SXin Li int XIVAR; // expected-error {{conflicting instance variable names: 'XIVAR' vs 'IVAR'}} 15*67e74705SXin Li} 16*67e74705SXin Li@end 17*67e74705SXin Li 18*67e74705SXin Li 19*67e74705SXin Li 20*67e74705SXin Li@interface INTF1 21*67e74705SXin Li{ 22*67e74705SXin Li@public 23*67e74705SXin Li int IVAR; 24*67e74705SXin Li int IVAR1; // expected-error {{inconsistent number of instance variables specified}} 25*67e74705SXin Li} 26*67e74705SXin Li@end 27*67e74705SXin Li 28*67e74705SXin Li@implementation INTF1 29*67e74705SXin Li{ 30*67e74705SXin Li@private 31*67e74705SXin Li 32*67e74705SXin Li int IVAR; 33*67e74705SXin Li} 34*67e74705SXin Li@end 35*67e74705SXin Li 36*67e74705SXin Li 37*67e74705SXin Li@interface INTF2 38*67e74705SXin Li{ 39*67e74705SXin Li@public 40*67e74705SXin Li int IVAR; 41*67e74705SXin Li} 42*67e74705SXin Li@end 43*67e74705SXin Li 44*67e74705SXin Li@implementation INTF2 45*67e74705SXin Li{ 46*67e74705SXin Li@private 47*67e74705SXin Li 48*67e74705SXin Li int IVAR; 49*67e74705SXin Li int IVAR1; // expected-error {{inconsistent number of instance variables specified}} 50*67e74705SXin Li} 51*67e74705SXin Li@end 52*67e74705SXin Li 53*67e74705SXin Li 54*67e74705SXin Li@interface INTF3 55*67e74705SXin Li{ 56*67e74705SXin Li@public 57*67e74705SXin Li int IVAR; // expected-note {{previous definition is here}} 58*67e74705SXin Li} 59*67e74705SXin Li@end 60*67e74705SXin Li 61*67e74705SXin Li@implementation INTF3 62*67e74705SXin Li{ 63*67e74705SXin Li@private 64*67e74705SXin Li 65*67e74705SXin Li short IVAR; // expected-error {{instance variable 'IVAR' has conflicting type: 'short' vs 'int'}} 66*67e74705SXin Li} 67*67e74705SXin Li@end 68*67e74705SXin Li 69*67e74705SXin Li@implementation INTF4 // expected-warning {{cannot find interface declaration for 'INTF4'}} 70*67e74705SXin Li{ 71*67e74705SXin Li@private 72*67e74705SXin Li 73*67e74705SXin Li short IVAR; 74*67e74705SXin Li} 75*67e74705SXin Li@end 76*67e74705SXin Li 77*67e74705SXin Li@interface INTF5 78*67e74705SXin Li{ 79*67e74705SXin Li char * ch; 80*67e74705SXin Li} 81*67e74705SXin Li@end 82*67e74705SXin Li 83*67e74705SXin Li@implementation INTF5 84*67e74705SXin Li{ 85*67e74705SXin Li} 86*67e74705SXin Li@end 87