PR target/83368
[official-gcc.git] / gcc / testsuite / objc.dg / fsf-package-0.m
blobcad208f03e9e02abec7993a809c8c0040be609ca
1 /* { dg-do compile } */
3 #import "../objc-obj-c++-shared/TestsuiteObject.h"
5 @interface obj : TestsuiteObject
7 @public
8   int v1;
9 @package        /* { dg-warning ".@package. presently has the same effect as .@public." } */
10   int v2;
11 @protected
12   int v3;
13 @private
14   int v4;
16 - (int) value;
17 - (void) setValue: (int)number;
18 @end
20 @implementation obj : TestsuiteObject
22 - (int) value { return v1; }
23 - (void) setValue: (int)number { v1 = number; }
25 @end
27 void foo (void)
29   obj *a;
31   [a setValue:2];
32   a->v2 = 1;
33   a->v3 = [a value] - a->v2;    /* { dg-warning ".v3. is @protected" } */
34   a->v4 = a->v3 - 1;            /* { dg-warning ".v4. is @private" } */
35                                 /* { dg-warning ".v3. is @protected" "" { target *-*-* } .-1 } */