1/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010.  */
2/* { dg-do compile } */
3
4/* Test that properties can be deprecated.  */
5
6#include <stdlib.h>
7#include <objc/objc.h>
8#include <objc/runtime.h>
9
10@interface MyRootClass
11{
12  Class isa;
13  int a;
14}
15@property int a __attribute__((deprecated));
16+ (id) initialize;
17+ (id) alloc;
18- (id) init;
19@end
20
21@implementation MyRootClass
22+ (id) initialize { return self; }
23+ (id) alloc { return class_createInstance (self, 0); }
24- (id) init { return self; }
25@synthesize a;
26@end
27
28int main (void)
29{
30  MyRootClass *object = [[MyRootClass alloc] init];
31
32  object.a = 40;      /* { dg-warning "is deprecated" } */
33  if (object.a != 40) /* { dg-warning "is deprecated" } */
34    abort ();
35
36  return 0;
37}
38