Index: src/OFObject.m ================================================================== --- src/OFObject.m +++ src/OFObject.m @@ -73,11 +73,16 @@ of_spinlock_t retain_spinlock; #endif }; /* Hopefully no arch needs more than 16 bytes padding */ -#define PRE_IVAR_ALIGN ((sizeof(struct pre_ivar) + 15) & ~15) +#ifndef __BIGGEST_ALIGNMENT__ +# define __BIGGEST_ALIGNMENT__ 16 +#endif + +#define PRE_IVAR_ALIGN ((sizeof(struct pre_ivar) + \ + (__BIGGEST_ALIGNMENT__ - 1)) & ~(__BIGGEST_ALIGNMENT__ - 1)) #define PRE_IVAR ((struct pre_ivar*)(void*)((char*)self - PRE_IVAR_ALIGN)) static struct { Class isa; } alloc_failed_exception;