From 410644c41a1b10798a0fe442c66f9bf582ecf067 Mon Sep 17 00:00:00 2001 From: Nicola Pero Date: Fri, 24 Dec 2010 18:41:05 +0000 Subject: In libobjc/: 2010-12-24 Nicola Pero In libobjc/: 2010-12-24 Nicola Pero * objc/runtime.h (class_addIvar): Updated documentation. The alignment is actually the log_2 of the alignment in bytes. * ivars.c (class_addIvar): Corresponding change to the implementation. In gcc/testsuite/: 2010-12-24 Nicola Pero * objc.dg/gnu-api-2-class.m: Updated test to pass log_2 of the alignment to class_addIvar, instead of the alignment itself. * obj-c++.dg/gnu-api-2-class.mm: Same change. From-SVN: r168230 --- libobjc/ivars.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libobjc/ivars.c') diff --git a/libobjc/ivars.c b/libobjc/ivars.c index 7527df8..6111a03 100644 --- a/libobjc/ivars.c +++ b/libobjc/ivars.c @@ -212,7 +212,7 @@ struct objc_ivar ** class_copyIvarList (Class class_, unsigned int *numberOfRetu BOOL class_addIvar (Class class_, const char * ivar_name, size_t size, - unsigned char alignment, const char *type) + unsigned char log_2_of_alignment, const char *type) { struct objc_ivar_list *ivars; @@ -270,6 +270,7 @@ class_addIvar (Class class_, const char * ivar_name, size_t size, size. */ { struct objc_ivar *ivar = &(ivars->ivar_list[ivars->ivar_count - 1]); + unsigned int alignment = 1 << log_2_of_alignment; int misalignment; ivar->ivar_name = objc_malloc (strlen (ivar_name) + 1); -- cgit v1.1