// RUN: %clang_cc1 -fsyntax-only -fobjc-nonfragile-abi -verify %s

@interface Root @end

@interface SuperClass  : Root 
{
  int iSuper;	// expected-note {{previous declaration is here}}
}
@end

@interface SubClass : SuperClass {
    int ivar;	// expected-error {{duplicate member 'ivar'}}
    int another_ivar;	// expected-error {{duplicate member 'another_ivar'}}
    int iSuper;	// expected-error {{duplicate member 'iSuper'}}
}
@end

@interface SuperClass () {
   int ivar;	// expected-note {{previous declaration is here}}
}
@end

@interface Root () {
  int another_ivar;	// expected-note {{previous declaration is here}}
}
@end

@implementation SubClass
-(int) method {
        return self->ivar;  // would be ambiguous if the duplicate ivar were allowed
}
@end
