Index: src/OFMethodSignature.m ================================================================== --- src/OFMethodSignature.m +++ src/OFMethodSignature.m @@ -179,11 +179,11 @@ case 'L': align = OF_ALIGNOF(long); break; case 'q': case 'Q': -#ifdef OF_X86 +#if defined(OF_X86) && !defined(OF_WINDOWS) if (inStruct) align = 4; else #endif align = OF_ALIGNOF(long long); @@ -196,19 +196,19 @@ #endif case 'f': align = OF_ALIGNOF(float); break; case 'd': -#ifdef OF_X86 +#if defined(OF_X86) && !defined(OF_WINDOWS) if (inStruct) align = 4; else #endif align = OF_ALIGNOF(double); break; case 'D': -#ifdef OF_X86 +#if defined(OF_X86) && !defined(OF_WINDOWS) if (inStruct) align = 4; else #endif align = OF_ALIGNOF(long double); @@ -255,15 +255,15 @@ switch (**type) { case 'f': align = OF_ALIGNOF(float _Complex); break; case 'd': -# ifdef OF_X86 +# if defined(OF_X86) && !defined(OF_WINDOWS) if (inStruct) align = 4; else -#endif +# endif align = OF_ALIGNOF(double _Complex); break; case 'D': align = OF_ALIGNOF(long double _Complex); break;