OSDN Git Service

70edd0e02e10968fa32cf923efd0959675a0be7a
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / objc.dg / isa-field-1.m
1 /* Ensure there are no bizarre difficulties with accessing the 'isa' field of objects.  */
2 /* { dg-do compile } */
3
4 #include <objc/Object.h>
5
6 @interface Object (Test)
7 - (Class) test1: (id)object;
8 @end
9
10 @interface Derived: Object
11 - (Class) test2: (id)object;
12 @end
13
14 @implementation Object (Test)
15
16 Class test1(id object) {
17     Class cls = object->isa;
18     return cls;
19 }
20 - (Class) test1: (id)object {
21     Class cls = object->isa;
22     return cls;
23 }
24
25 @end
26
27 @implementation Derived
28
29 Class test2(id object) {
30     Class cls = object->isa;
31     return cls;
32 }
33 - (Class) test2: (id)object {
34     Class cls = object->isa;
35     return cls;
36 }
37
38 @end
39
40 Class test3(id object) {
41     Class cls = object->isa;
42     return cls;
43 }