Merge from mainline (165734:167278).
[official-gcc/graphite-test-results.git] / gcc / testsuite / objc.dg / property / dotsyntax-13.m
blobc5a4b3301e3d95429f5d2762bc7154ce9cc6636d
1 /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010.  */
2 /* { dg-do run } */
3 /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
5 /* Test dot-syntax with a local variable.  */
7 #include <stdlib.h>
8 #include <objc/objc.h>
9 #include <objc/runtime.h>
11 @interface MyRootClass
13   Class isa;
14   int a;
16 + (id) initialize;
17 + (id) alloc;
18 - (id) init;
19 - (int) count;
20 - (void) setCount: (int)count;
21 @end
23 @implementation MyRootClass
24 + (id) initialize { return self; }
25 + (id) alloc { return class_createInstance (self, 0); }
26 - (id) init { return self; }
27 - (int) count
29   return a;
31 - (void) setCount: (int)count
33   a = count;
35 @end
37 int main (void)
39   MyRootClass *object = [[MyRootClass alloc] init];
40   int i;
42   for (i = 0; i < 10; i++)
43     {
44       object.count = i;
45       
46       if (object.count != i)
47         abort ();
48     }
50   return 0;