Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/objc.dg/isa-field-1.m @ 118:fd00160c1b76
ifdef TARGET_64BIT
author | mir3636 |
---|---|
date | Tue, 27 Feb 2018 15:01:35 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line source
/* Ensure there are no bizarre difficulties with accessing the 'isa' field of objects. */ /* { dg-do compile } */ #include "../objc-obj-c++-shared/TestsuiteObject.h" #include "../objc-obj-c++-shared/runtime.h" @interface TestsuiteObject (Test) - (Class) test1: (id)object; @end @interface Derived: TestsuiteObject - (Class) test2: (id)object; @end @implementation TestsuiteObject (Test) Class test1(id object) { #ifdef __NEXT_RUNTIME__ Class cls = object->isa; #else Class cls = object->class_pointer; #endif return cls; } - (Class) test1: (id)object { #ifdef __NEXT_RUNTIME__ Class cls = object->isa; #else Class cls = object->class_pointer; #endif return cls; } @end @implementation Derived Class test2(id object) { #ifdef __NEXT_RUNTIME__ Class cls = object->isa; #else Class cls = object->class_pointer; #endif return cls; } - (Class) test2: (id)object { #ifdef __NEXT_RUNTIME__ Class cls = object->isa; #else Class cls = object->class_pointer; #endif return cls; } @end Class test3(id object) { #ifdef __NEXT_RUNTIME__ Class cls = object->isa; #else Class cls = object->class_pointer; #endif return cls; }