2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / objc / execute / initialize-1.m
blob9ca4aebbe697ea66cd6837f0468195c05159db5c
1 /* Contributed by Nicola Pero - Sat  8 Oct 2011 16:47:48 BST */
2 #include <objc/objc.h>
4 /* Test that if a class has no +initialize method, the superclass
5    implementation is called.  */
7 static int class_variable = 0;
9 @interface TestClass
11   Class isa;
13 + (void) initialize;
14 + (int) classVariable;
15 @end
17 @implementation TestClass
18 + (void) initialize
20   class_variable++;
22 + (int) classVariable
24   return class_variable;
26 @end
28 @interface TestSubClass : TestClass
29 @end
31 @implementation TestSubClass
32 @end
34 int main (void)
36   if ([TestClass classVariable] != 1)
37     {
38       abort ();
39     }
41   if ([TestSubClass classVariable] != 2)
42     {
43       abort ();
44     }
46   return 0;