diff options
Diffstat (limited to 'gcc/testsuite/objc.dg/fsf-package-0.m')
-rw-r--r-- | gcc/testsuite/objc.dg/fsf-package-0.m | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/objc.dg/fsf-package-0.m b/gcc/testsuite/objc.dg/fsf-package-0.m new file mode 100644 index 000000000..d6b4db217 --- /dev/null +++ b/gcc/testsuite/objc.dg/fsf-package-0.m @@ -0,0 +1,37 @@ +/* { dg-do compile } */ + +#import "../objc-obj-c++-shared/Object1.h" +#include <objc/objc-api.h> + +@interface obj : Object +{ +@public + int v1; +@package /* { dg-warning ".@package. presently has the same effect as .@public." } */ + int v2; +@protected + int v3; +@private + int v4; +} +- (int) value; +- (void) setValue: (int)number; +@end + +@implementation obj : Object + +- (int) value { return v1; } +- (void) setValue: (int)number { v1 = number; } + +@end + +void foo (void) +{ + obj *a; + + [a setValue:2]; + a->v2 = 1; + a->v3 = [a value] - a->v2; /* { dg-warning ".v3. is @protected" } */ + a->v4 = a->v3 - 1; /* { dg-warning ".v4. is @private" } */ + /* { dg-warning ".v3. is @protected" "" { target *-*-* } 35 } */ +} |