On 18 January 2014 13:47, Martin Husemann <mar...@duskware.de> wrote: > Do not rely on int8_t (and friends) not being preprocessor > symbols (or symbols expanding to themselves). On NetBSD (for example) the > glue(u, SDATA_TYPE) results in u__int8_t, which is undefined. There is no way > to stop cpp expanding inner macros, so just add the few lines explicitly and > get rid of the magic. > > Signed-off-by: Martin Husemann <mar...@netbsd.org>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> This was introduced in commit c8f94df593. Richard, do you want to take this fix via the tcg tree, or should it go via trivial? > --- > include/exec/softmmu_template.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/exec/softmmu_template.h b/include/exec/softmmu_template.h > index c6a5440..8712dcd 100644 > --- a/include/exec/softmmu_template.h > +++ b/include/exec/softmmu_template.h > @@ -30,23 +30,26 @@ > #define SUFFIX q > #define LSUFFIX q > #define SDATA_TYPE int64_t > +#define DATA_TYPE uint64_t > #elif DATA_SIZE == 4 > #define SUFFIX l > #define LSUFFIX l > #define SDATA_TYPE int32_t > +#define DATA_TYPE uint32_t > #elif DATA_SIZE == 2 > #define SUFFIX w > #define LSUFFIX uw > #define SDATA_TYPE int16_t > +#define DATA_TYPE uint16_t > #elif DATA_SIZE == 1 > #define SUFFIX b > #define LSUFFIX ub > #define SDATA_TYPE int8_t > +#define DATA_TYPE uint8_t > #else > #error unsupported data size > #endif > > -#define DATA_TYPE glue(u, SDATA_TYPE) > > /* For the benefit of TCG generated code, we want to avoid the complication > of ABI-specific return type promotion and always return a value extended > -- > 1.8.5.3 thanks -- PMM