f4a2713ac8
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
39 lines
837 B
Objective-C
39 lines
837 B
Objective-C
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
|
|
|
|
@interface Super @end
|
|
|
|
@interface INTFSTANDALONE : Super
|
|
{
|
|
id IVAR; // expected-note {{previous definition is here}}
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation INTFSTANDALONE : Super // expected-warning {{class implementation may not have super class}}
|
|
{
|
|
id PRIV_IVAR;
|
|
@protected
|
|
id PRTCTD;
|
|
@private
|
|
id IVAR3;
|
|
int IVAR; // expected-error {{instance variable is already declared}}
|
|
@public
|
|
id IVAR4;
|
|
}
|
|
@end
|
|
|
|
@interface Base @end
|
|
|
|
@implementation Base {
|
|
int ivar1;
|
|
@public
|
|
int ivar2;
|
|
}
|
|
@end
|
|
|
|
id fn1(INTFSTANDALONE *b) { return b->PRIV_IVAR; } // expected-error {{instance variable 'PRIV_IVAR' is private}}
|
|
|
|
id fn2(INTFSTANDALONE *b) { return b->PRTCTD; } // expected-error {{instance variable 'PRTCTD' is protected}}
|
|
|
|
id fn4(INTFSTANDALONE *b) { return b->IVAR4; }
|
|
|