1 /* Ensure there are no bizarre difficulties with accessing the 'isa' field of objects. */
2 /* { dg-do compile } */
4 #include "../objc-obj-c++-shared/Object1.h"
6 @interface Object (Test)
7 - (Class) test1: (id)object;
10 @interface Derived: Object
11 - (Class) test2: (id)object;
14 @implementation Object (Test)
16 Class test1(id object) {
17 #ifdef __NEXT_RUNTIME__
18 Class cls = object->isa;
20 Class cls = object->class_pointer;
24 - (Class) test1: (id)object {
25 #ifdef __NEXT_RUNTIME__
26 Class cls = object->isa;
28 Class cls = object->class_pointer;
35 @implementation Derived
37 Class test2(id object) {
38 #ifdef __NEXT_RUNTIME__
39 Class cls = object->isa;
41 Class cls = object->class_pointer;
45 - (Class) test2: (id)object {
46 #ifdef __NEXT_RUNTIME__
47 Class cls = object->isa;
49 Class cls = object->class_pointer;
56 Class test3(id object) {
57 #ifdef __NEXT_RUNTIME__
58 Class cls = object->isa;
60 Class cls = object->class_pointer;