1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3@interface Root @end 4 5@interface SuperClass : Root 6{ 7 int iSuper; // expected-note {{previous declaration is here}} 8} 9@end 10 11@interface SubClass : SuperClass { 12 int ivar; // expected-error {{duplicate member 'ivar'}} 13 int another_ivar; // expected-error {{duplicate member 'another_ivar'}} 14 int iSuper; // expected-error {{duplicate member 'iSuper'}} 15} 16@end 17 18@interface SuperClass () { 19 int ivar; // expected-note {{previous declaration is here}} 20} 21@end 22 23@interface Root () { 24 int another_ivar; // expected-note {{previous declaration is here}} 25} 26@end 27 28@implementation SubClass 29-(int) method { 30 return self->ivar; // would be ambiguous if the duplicate ivar were allowed 31} 32@end 33