Merge from mainline (165734:167278).
[official-gcc/graphite-test-results.git] / gcc / testsuite / objc.dg / property / dynamic-2.m
blob203ba34a1f3171406668226ddc1626ea85572622
1 /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010.  */
2 /* { dg-do compile } */
4 #include <objc/objc.h>
6 @interface MyRootClass
8   Class isa;
10 @end
12 @implementation MyRootClass
13 @end
15 @dynamic isa;  /* { dg-error ".@dynamic. not in @implementation context" } */
17 @interface Test : MyRootClass
19   int v1;
21 @end
22 @implementation Test
23 @end
26 @interface Test (Category)
27 @property int v1;
28 @end
29 @implementation Test (Category)
30 @dynamic v1;
31 @end
34 @interface AnotherTest : MyRootClass
37 @property int one;
38 @end
40 @implementation AnotherTest
41 @dynamic one;
42 @dynamic one; /* { dg-error "property .one. already specified in .@dynamic." } */
43               /* { dg-message "originally specified here" "" { target *-*-* } 41 } */
44 @dynamic three; /* { dg-error "no declaration of property .three. found in the interface" } */
45 @end