forked from OSchip/llvm-project
40 lines
838 B
Objective-C
40 lines
838 B
Objective-C
// RUN: %clang_cc1 -fsyntax-only -fobjc-nonfragile-abi -verify %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; }
|
|
|