view gcc/testsuite/objc.dg/fsf-package-0.m @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { 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 : TestsuiteObject

- (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 *-*-* } .-1 } */
}