diff options
author | Mattias Andrée <maandree@operamail.com> | 2015-10-16 19:11:31 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2015-10-16 19:11:31 +0200 |
commit | 50e120e73e471aad313e11ea57733316e616aa88 (patch) | |
tree | 4c4d9362e3da928f04ec50d28eaaacfc23dddf9b /include | |
parent | whitespace (diff) | |
download | slibc-50e120e73e471aad313e11ea57733316e616aa88.tar.gz slibc-50e120e73e471aad313e11ea57733316e616aa88.tar.bz2 slibc-50e120e73e471aad313e11ea57733316e616aa88.tar.xz |
do not assume that size(void*) == size(long)
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r-- | include/inttypes.h | 15 | ||||
-rw-r--r-- | include/stdint.h | 12 |
2 files changed, 23 insertions, 4 deletions
diff --git a/include/inttypes.h b/include/inttypes.h index d9e40e9..4dffb86 100644 --- a/include/inttypes.h +++ b/include/inttypes.h @@ -88,8 +88,19 @@ intmax_t imaxabs(intmax_t) #define __PRIMAX "j" #define __SCNMAX "j" -#define __PRIPTR "l" -#define __SCNPTR "l" +#if __PTR_BIT == 8 +# define __PRIPTR __PRI8 +# define __SCNPTR __SCN8 +#elif __PTR_BIT == 16 +# define __PRIPTR __PRI16 +# define __SCNPTR __SCN16 +#elif __PTR_BIT == 32 +# define __PRIPTR __PRI32 +# define __SCNPTR __SCN32 +#elif __PTR_BIT == 64 +# define __PRIPTR __PRI64 +# define __SCNPTR __SCN64 +#endif diff --git a/include/stdint.h b/include/stdint.h index 50af12a..038521f 100644 --- a/include/stdint.h +++ b/include/stdint.h @@ -342,7 +342,11 @@ /** * Maximum value of `uintptr_t`. */ -# if __LONG_BIT == 32 +# if __PTR_BIT == 8 +# define UINTPTR_MAX UINT8_MAX +# elif __PTR_BIT == 16 +# define UINTPTR_MAX UINT16_MAX +# elif __PTR_BIT == 32 # define UINTPTR_MAX UINT32_MAX # else # define UINTPTR_MAX UINT64_MAX @@ -351,7 +355,11 @@ /** * Maximum value of `intptr_t`. */ -# if __LONG_BIT == 32 +# if __PTR_BIT == 8 +# define INTPTR_MAX INT8_MAX +# elif __PTR_BIT == 16 +# define INTPTR_MAX INT16_MAX +# elif __PTR_BIT == 32 # define INTPTR_MAX INT32_MAX # else # define INTPTR_MAX INT64_MAX |