diff options
Diffstat (limited to 'test/SemaObjC/ivar-in-implementations.m')
-rw-r--r-- | test/SemaObjC/ivar-in-implementations.m | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/test/SemaObjC/ivar-in-implementations.m b/test/SemaObjC/ivar-in-implementations.m index 32d3c35..4060526 100644 --- a/test/SemaObjC/ivar-in-implementations.m +++ b/test/SemaObjC/ivar-in-implementations.m @@ -11,12 +11,29 @@ @implementation INTFSTANDALONE : Super // expected-warning {{class implementation may not have super class}} { -@private - id IVAR1; + id PRIV_IVAR; @protected - id IVAR2; // expected-error {{only private ivars may be declared in implementation}} + 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; } + |