Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > On 12/01/2017 18:18, Alex Bennée wrote: >>> Although I feel there should be a compiler macro way to do this without >>> a need for configure/makefile trickery at all... >> >> I did ask our toolchain bods. They started going on about potential >> solutions using _Generic but I fear that might be worse in this case! > > I don't think _Generic can do string concatenation, can it? > > inttypes.h is not part of the set of freestanding headers, only stdint.h > is. Who is providing stdint.h in your case? /usr/lib/gcc/arm-none-eabi/5.4.1/include/stdint.h is part of the compiler package although it can just include the lib stdint.h if it is there: #ifndef _GCC_WRAP_STDINT_H #if __STDC_HOSTED__ # if defined __cplusplus && __cplusplus >= 201103L # undef __STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS # undef __STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS # endif # include_next <stdint.h> #else # include "stdint-gcc.h" #endif #define _GCC_WRAP_STDINT_H #endif So using inttypes we would get: >arm-none-eabi-gcc ./test.c -E | grep typedef | grep uint32 typedef long unsigned int __uint32_t; typedef __uint32_t uint32_t ; -- Alex Bennée -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html