If uintptr_t can be either an unsigned int or an unsigned long int, it is tricky to use it in a printf() format string. This changes it to unsigned long int consistently. This should do the right thing on both 32-bit and 64-bit architectures.
Signed-off-by: Simon Glass <s...@chromium.org> --- Changes in v3: - Remove the #if logic since it doesn't really do anything include/compiler.h | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-) diff --git a/include/compiler.h b/include/compiler.h index 54999a7..0734ed4 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -123,16 +123,10 @@ typedef unsigned int uint; #define __WORDSIZE 32 #endif -/* Types for `void *' pointers. */ -#if __WORDSIZE == 64 -typedef unsigned long int uintptr_t; -#elif __WORDSIZE == 32 -typedef unsigned int uintptr_t; -#else -#error "__WORDSIZE has unexpected value" -#endif +/* Type for `void *' pointers. */ +typedef unsigned long int uintptr_t; -#endif +#endif /* USE_HOSTCC */ /* compiler options */ #define uninitialized_var(x) x = x -- 1.7.3.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot