In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
authorNicola Pero <nicola.pero@meta-innovation.com>
Sat, 16 Oct 2010 00:04:37 +0000 (00:04 +0000)
committerNicola Pero <nicola@gcc.gnu.org>
Sat, 16 Oct 2010 00:04:37 +0000 (00:04 +0000)
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

libobjc/ChangeLog
libobjc/ivars.c
libobjc/objc/runtime.h

index 383d02f621c78fe0dc4e3d5de1b2e1ff13791158..569b6289515a5af3a206f18c0ab9481f35e0eb7b 100644 (file)
@@ -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.
index b1e261bb8cc6f20c0aa9c00db616ca9b1c2447c5..827243a6c716bc0b965b0ce6c0e6e87361db2c88 100644 (file)
@@ -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;
+}
index 27ecabf8850acd961db2821fedaef47ea72f06c3..0bbd7e9524e665f88934040bb790f99f60b7c926 100644 (file)
@@ -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.  */