diff options
Diffstat (limited to 'clang/test/SemaObjC/ivar-in-implementations.m')
| -rw-r--r-- | clang/test/SemaObjC/ivar-in-implementations.m | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/clang/test/SemaObjC/ivar-in-implementations.m b/clang/test/SemaObjC/ivar-in-implementations.m index 32d3c353d04..4060526b44d 100644 --- a/clang/test/SemaObjC/ivar-in-implementations.m +++ b/clang/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; } + |

