define LONG_MAX via arch alltypes.h, strip down bits/limits.h
authorRich Felker <dalias@aerifal.cx>
Thu, 17 Oct 2019 23:19:40 +0000 (19:19 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 17 Oct 2019 23:23:39 +0000 (19:23 -0400)
commit7cc79d10afd43811a486fd5e9fcdf8e45ac599e0
tree740e26e12e169f5d2fb1812e65e728593f94f1fe
parent316730cdc7a330cddf288b4e5c1de5daa64e19f4
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.
34 files changed:
arch/aarch64/bits/alltypes.h.in
arch/aarch64/bits/limits.h [deleted file]
arch/arm/bits/alltypes.h.in
arch/arm/bits/limits.h [deleted file]
arch/generic/bits/limits.h [new file with mode: 0644]
arch/i386/bits/alltypes.h.in
arch/i386/bits/limits.h
arch/m68k/bits/alltypes.h.in
arch/m68k/bits/limits.h [deleted file]
arch/microblaze/bits/alltypes.h.in
arch/microblaze/bits/limits.h [deleted file]
arch/mips/bits/alltypes.h.in
arch/mips/bits/limits.h [deleted file]
arch/mips64/bits/alltypes.h.in
arch/mips64/bits/limits.h [deleted file]
arch/mipsn32/bits/alltypes.h.in
arch/mipsn32/bits/limits.h [deleted file]
arch/or1k/bits/alltypes.h.in
arch/or1k/bits/limits.h
arch/powerpc/bits/alltypes.h.in
arch/powerpc/bits/limits.h [deleted file]
arch/powerpc64/bits/alltypes.h.in
arch/powerpc64/bits/limits.h [deleted file]
arch/riscv64/bits/alltypes.h.in
arch/riscv64/bits/limits.h [deleted file]
arch/s390x/bits/alltypes.h.in
arch/s390x/bits/limits.h
arch/sh/bits/alltypes.h.in
arch/sh/bits/limits.h
arch/x32/bits/alltypes.h.in
arch/x32/bits/limits.h
arch/x86_64/bits/alltypes.h.in
arch/x86_64/bits/limits.h
include/limits.h