===================================================================
@@ -1,5 +1,11 @@
2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
+ * ivars.c (class_addIvar): Use the 'size' argument instead of
+ trying to calculate it using objc_sizeof_type().
+ * objc/runtime.h (class_addIvar): Updated comments.
+
+2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
+
* sendmsg.c: Reindented some code and tidied up comments. No
actual code changes.
===================================================================
@@ -296,7 +296,7 @@ class_addIvar (Class class_, const char * ivar_nam
else
ivar->ivar_offset = class_->instance_size - misalignment + alignment;
- class_->instance_size = ivar->ivar_offset + objc_sizeof_type (ivar->ivar_type);
+ class_->instance_size = ivar->ivar_offset + size;
}
return YES;
===================================================================
@@ -319,11 +319,10 @@ objc_EXPORT Ivar * class_copyIvarList (Class class
instance variables to classes already registered with the runtime.
'size' is the size of the instance variable, 'alignment' the
alignment, and 'type' the type encoding of the variable type. You
- can use objc_sizeof_type() (or sizeof()), objc_alignof_type() (or
- __alignof__()) and @encode() to determine the right 'size',
- 'alignment' and 'type' for your instance variable. For example, to
- add an instance variable name "my_variable" and of type 'id', you
- can use:
+ can use sizeof(), __alignof__() and @encode() to determine the
+ right 'size', 'alignment' and 'type' for your instance variable.
+ For example, to add an instance variable name "my_variable" and of
+ type 'id', you can use:
class_addIvar (class, "my_variable", sizeof (id), __alignof__ (id),
@encode (id));