From 7cc79d10afd43811a486fd5e9fcdf8e45ac599e0 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 17 Oct 2019 19:19:40 -0400 Subject: define LONG_MAX via arch alltypes.h, strip down bits/limits.h LLONG_MAX is uniform for all archs we support and plenty of header and code level logic assumes it is, so it does not make sense for limits.h bits mechanism to pretend it's variable. LONG_BIT can be defined in terms of LONG_MAX; there's no reason to put it in bits. by moving LONG_MAX definition to __LONG_MAX in alltypes.h and moving LLONG_MAX out of bits, there are now no plain-C limits that are defined in the bits header, so the bits header only needs to be included in the POSIX or extended profiles. this allows the feature test macro logic to be removed from the bits header, facilitating a long-term goal of getting such logic out of bits. having __LONG_MAX in alltypes.h will allow further generalization of headers. archs without a constant PAGESIZE no longer need bits/limits.h at all. --- arch/x32/bits/alltypes.h.in | 1 + arch/x32/bits/limits.h | 7 ------- 2 files changed, 1 insertion(+), 7 deletions(-) (limited to 'arch/x32/bits') diff --git a/arch/x32/bits/alltypes.h.in b/arch/x32/bits/alltypes.h.in index 5d7a1279..0c2dd106 100644 --- a/arch/x32/bits/alltypes.h.in +++ b/arch/x32/bits/alltypes.h.in @@ -3,6 +3,7 @@ #define _Reg long long #define __BYTE_ORDER 1234 +#define __LONG_MAX 0x7fffffffL #ifndef __cplusplus #ifdef __WCHAR_TYPE__ diff --git a/arch/x32/bits/limits.h b/arch/x32/bits/limits.h index c340ceb2..07743b6f 100644 --- a/arch/x32/bits/limits.h +++ b/arch/x32/bits/limits.h @@ -1,8 +1 @@ -#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ - || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define PAGESIZE 4096 -#define LONG_BIT 32 -#endif - -#define LONG_MAX 0x7fffffffL -#define LLONG_MAX 0x7fffffffffffffffLL -- cgit v1.2.1