summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-16 00:04:37 +0000
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-16 00:04:37 +0000
commit68811112b70c24dc9325917eb28152ace239dde7 (patch)
treedd3f492e6cf534d537e8633fd52e692506d57595 /libobjc
parent6cf818de07d7948b66583b1608ea16a1f8f650b3 (diff)
downloadgcc-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/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 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. */