From: Nicola Pero Date: Sat, 16 Oct 2010 00:04:37 +0000 (+0000) Subject: In libobjc/: 2010-10-16 Nicola Pero X-Git-Tag: releases/gcc-4.6.0~3467 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c44c190b65c8932f02c6b416385d6f5799fa775;p=thirdparty%2Fgcc.git In libobjc/: 2010-10-16 Nicola Pero In libobjc/: 2010-10-16 Nicola Pero * objc/runtime.h (class_getIvarLayout): New. (class_getWeakIvarLayout): New. (class_setIvarLayout): New. (class_setWeakIvarLayout): New. * ivars.c (class_getIvarLayout): New. (class_getWeakIvarLayout): New. (class_setIvarLayout): New. (class_setWeakIvarLayout): New. From-SVN: r165533 --- diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 383d02f621c7..569b6289515a 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,14 @@ +2010-10-16 Nicola Pero + + * objc/runtime.h (class_getIvarLayout): New. + (class_getWeakIvarLayout): New. + (class_setIvarLayout): New. + (class_setWeakIvarLayout): New. + * ivars.c (class_getIvarLayout): New. + (class_getWeakIvarLayout): New. + (class_setIvarLayout): New. + (class_setWeakIvarLayout): New. + 2010-10-15 Nicola Pero * objc/runtime.h (class_copyPropertyList): New. diff --git a/libobjc/ivars.c b/libobjc/ivars.c index b1e261bb8cc6..827243a6c716 100644 --- a/libobjc/ivars.c +++ b/libobjc/ivars.c @@ -281,3 +281,29 @@ class_copyPropertyList (Class class_ __attribute__ ((__unused__)), return NULL; } + +const char * +class_getIvarLayout (Class class_ __attribute__ ((__unused__))) +{ + return NULL; +} + +const char * +class_getWeakIvarLayout (Class class_ __attribute__ ((__unused__))) +{ + return NULL; +} + +void +class_setIvarLayout (Class class_ __attribute__ ((__unused__)), + const char *layout __attribute__ ((__unused__))) +{ + return; +} + +void +class_setWeakIvarLayout (Class class_ __attribute__ ((__unused__)), + const char *layout __attribute__ ((__unused__))) +{ + return; +} diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h index 27ecabf8850a..0bbd7e9524e6 100644 --- a/libobjc/objc/runtime.h +++ b/libobjc/objc/runtime.h @@ -336,6 +336,28 @@ objc_EXPORT Property class_getProperty (Class class_, const char *propertyName); objc_EXPORT Property * class_copyPropertyList (Class class_, unsigned int *numberOfReturnedProperties); +/* Return the ivar layout for class 'class_'. + + At the moment this function always returns NULL. */ +objc_EXPORT const char * class_getIvarLayout (Class class_); + +/* Return the weak ivar layout for class 'class_'. + + At the moment this function always returns NULL. */ +objc_EXPORT const char * class_getWeakIvarLayout (Class class_); + +/* Set the ivar layout for class 'class_'. + + At the moment, this function does nothing. */ +objc_EXPORT void class_setIvarLayout (Class class_, const char *layout); + +/* Set the weak ivar layout for class 'class_'. + + At the moment, this function does nothing. With the GNU runtime, + you should use class_ivar_set_gcinvisible () to hide variables from + the Garbage Collector. */ +objc_EXPORT void class_setWeakIvarLayout (Class class_, const char *layout); + /** Implementation: the following functions are in class.c. */