diff options
author | Ken Dyck <ken.dyck@onsemi.com> | 2009-11-18 20:36:29 +0000 |
---|---|---|
committer | Ken Dyck <ken.dyck@onsemi.com> | 2009-11-18 20:36:29 +0000 |
commit | c3ca6ef0e0624c153b73a5b75bd9e82fc95f2712 (patch) | |
tree | 9704aa83b1f99b913a819fead57312624d5ccf8b /lib | |
parent | 08321b445af4fb2a2b348f132261d78c3ce8fea1 (diff) |
Construct INTPTR_MIN, INTPTR_MAX, and UINTPTR_MAX from the exact-width limit
macros corresponding to __INTPTR_WIDTH__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89239 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Headers/stdint.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/Headers/stdint.h b/lib/Headers/stdint.h index edc6e87503..ccaf3499a4 100644 --- a/lib/Headers/stdint.h +++ b/lib/Headers/stdint.h @@ -603,29 +603,24 @@ typedef __stdint_exjoin3(uint, __INTMAX_WIDTH__, _t) uintmax_t; /* C99 7.18.2.4 Limits of integer types capable of holding object pointers. */ /* C99 7.18.3 Limits of other integer types. */ +#define INTPTR_MIN __stdint_exjoin3( INT, __INTPTR_WIDTH__, _MIN) +#define INTPTR_MAX __stdint_exjoin3( INT, __INTPTR_WIDTH__, _MAX) +#define UINTPTR_MAX __stdint_exjoin3(UINT, __INTPTR_WIDTH__, _MAX) + #if __POINTER_WIDTH__ == 64 -#define INTPTR_MIN INT64_MIN -#define INTPTR_MAX INT64_MAX -#define UINTPTR_MAX UINT64_MAX #define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX #define SIZE_MAX UINT64_MAX #elif __POINTER_WIDTH__ == 32 -#define INTPTR_MIN INT32_MIN -#define INTPTR_MAX INT32_MAX -#define UINTPTR_MAX UINT32_MAX #define PTRDIFF_MIN INT32_MIN #define PTRDIFF_MAX INT32_MAX #define SIZE_MAX UINT32_MAX #elif __POINTER_WIDTH__ == 16 -#define INTPTR_MIN INT16_MIN -#define INTPTR_MAX INT16_MAX -#define UINTPTR_MAX UINT16_MAX #define PTRDIFF_MIN INT16_MIN #define PTRDIFF_MAX INT16_MAX #define SIZE_MAX UINT16_MAX |