diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/obj-c++.dg/fsf-package-0.m')
-rw-r--r-- | gcc-4.9/gcc/testsuite/obj-c++.dg/fsf-package-0.m | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/obj-c++.dg/fsf-package-0.m b/gcc-4.9/gcc/testsuite/obj-c++.dg/fsf-package-0.m new file mode 100644 index 000000000..812989a42 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/obj-c++.dg/fsf-package-0.m @@ -0,0 +1,36 @@ +/* { dg-do compile } */ + +#import "../objc-obj-c++-shared/TestsuiteObject.h" + +@interface obj : TestsuiteObject +{ +@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 } */ +} |