diff options
author | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-16 00:04:37 +0000 |
---|---|---|
committer | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-16 00:04:37 +0000 |
commit | 68811112b70c24dc9325917eb28152ace239dde7 (patch) | |
tree | dd3f492e6cf534d537e8633fd52e692506d57595 /libobjc | |
parent | 6cf818de07d7948b66583b1608ea16a1f8f650b3 (diff) | |
download | gcc-68811112b70c24dc9325917eb28152ace239dde7.tar.gz |
In libobjc/:
2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165533 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r-- | libobjc/ChangeLog | 11 | ||||
-rw-r--r-- | libobjc/ivars.c | 26 | ||||
-rw-r--r-- | libobjc/objc/runtime.h | 22 |
3 files changed, 59 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 383d02f621c..569b6289515 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,14 @@ +2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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 <nicola.pero@meta-innovation.com> * objc/runtime.h (class_copyPropertyList): New. diff --git a/libobjc/ivars.c b/libobjc/ivars.c index b1e261bb8cc..827243a6c71 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 27ecabf8850..0bbd7e9524e 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. */ |