On 03/25/2010 02:04 AM, Tomasz Łukaszewski wrote: > +#if TARGET_ABI_BITS == 32 > +#ifdef TARGET_ARM > + if (((CPUARMState *)cpu_env)->eabi) > + { > + arg4 = arg5; > + arg5 = arg6; > + } > +#endif > +#if defined TARGET_PPC || defined TARGET_MIPS > + arg4 = arg5; > + arg5 = arg6; > +#endif > +#endif
I wonder if this sequence couldn't be encapsulated in a macro. Something like #if TARGET_ABI_BITS == 32 # if defined TARGET_ARM # define FIXUP_64BIT_ARGUMENT_PAIR(a,b,c) \ do { \ if (((CPUARMState *)cpu_env)->eabi) { \ a = b, b = c; \ } \ } while (0) # elif defined TARGET_PPC || defined TARGET_MIPS # define FIXUP_64BIT_ARGUMENT_PAIR(a,b,c) \ do { a = b, b = c; } while (0) # endif #endif #ifndef FIXUP_64BIT_ARGUMENT_PAIR # define FIXUP_64BIT_ARGUMENT_PAIR(a,b,c) \ do { } while (0) #endif r~