URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [objc/] [execute/] [object_is_class.m] - Rev 326
Go to most recent revision | Compare with Previous | Blame | View Log
/* Contributed by Nicola Pero - Tue Jul 3 10:55:21 BST 2001 */ #import "../../objc-obj-c++-shared/next-mapping.h" #import "../../objc-obj-c++-shared/Object1.h" #include <objc/objc.h> #include <objc/objc-api.h> /* This test demonstrate a failure in object_is_class which was fixed */ /* Create a class whose instance variables mirror the struct used for Class structures in the runtime ... yes we're feeling evil today */ @interface EvilClass : Object { Class super_class; const char* name; long version; unsigned long info; } @end @implementation EvilClass - (id) init { self = [super init]; /* The following one is used in the runtime to mark classes */ info = 0x1L; return self; } @end int main (void) { /* Create an object of our EvilClass */ EvilClass *evilObject = [EvilClass new]; /* Now check that the object is not a class object */ if (object_is_class (evilObject)) { printf ("object_is_class failed\n"); abort (); } return 0; }
Go to most recent revision | Compare with Previous | Blame | View Log