+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
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;
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));