aboutsummaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-10-16 00:04:37 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-16 00:04:37 +0000
commit3c44c190b65c8932f02c6b416385d6f5799fa775 (patch)
treedd3f492e6cf534d537e8633fd52e692506d57595 /libobjc
parent8dd6939deb9283c2e86cc6e3eb7bc082b8aff4f9 (diff)
downloadgcc-3c44c190b65c8932f02c6b416385d6f5799fa775.zip
gcc-3c44c190b65c8932f02c6b416385d6f5799fa775.tar.gz
gcc-3c44c190b65c8932f02c6b416385d6f5799fa775.tar.bz2
In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
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. From-SVN: r165533
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog11
-rw-r--r--libobjc/ivars.c26
-rw-r--r--libobjc/objc/runtime.h22
3 files changed, 59 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 383d02f..569b628 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 b1e261b..827243a 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 27ecabf..0bbd7e9 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. */