From 14491fd0e0714d98351f632dbd64d6b6b6e428dd Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Mon, 3 Oct 2005 17:02:48 +0000 Subject: 2005-10-03 Ralf Corsepius * libc/include/stdint.h: Use __INTMAX_TYPE__ to derive intmax_t. Use __UINTMAX_TYPE__ to derive uintmax_t. Fix minor typo. --- newlib/libc/include/stdint.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'newlib/libc') diff --git a/newlib/libc/include/stdint.h b/newlib/libc/include/stdint.h index f9e8d837f..a95c149a2 100644 --- a/newlib/libc/include/stdint.h +++ b/newlib/libc/include/stdint.h @@ -148,16 +148,27 @@ typedef uint64_t uint_least32_t; #endif #endif -#if __have_longlong64 -typedef signed long long intmax_t; -typedef unsigned long long uintmax_t; +/* Greatest-width integer types */ +/* Modern GCCs provide __INTMAX_TYPE__ */ +#if defined(__INTMAX_TYPE__) + typedef __INTMAX_TYPE__ intmax_t; +#elif __have_longlong64 + typedef signed long long intmax_t; #else -typedef signed long intmax_t; -typedef unsigned long uintmax_t; + typedef signed long intmax_t; #endif +/* Modern GCCs provide __UINTMAX_TYPE__ */ +#if defined(__UINTMAX_TYPE__) + typedef __UINTMAX_TYPE__ uintmax_t; +#elif __have_longlong64 + typedef unsigned long long uintmax_t; + #else + typedef unsigned long uintmax_t; + #endif + /* - * GCC doesn't provide an propriate macro for [u]intptr_t + * GCC doesn't provide an appropriate macro for [u]intptr_t * For now, use __PTRDIFF_TYPE__ */ #if defined(__PTRDIFF_TYPE__) -- cgit v1.2.3