Proposal: shoot vint64 through the head
Eric S. Raymond
esr at snark.thyrsus.com
Tue Dec 1 13:18:48 UTC 2015
Today I learned that in C99, "long long" is guaranteed to be at least
64 bits. POSIX does not guarantee that a 64-bit integral type exists,
only that it is available as int64_t/uint64_t if the platform supports it.
It follows that the combination of C99 and POSIX that we've chosen as
out porting baseline requires int64_t/uint64_t to exist.
There is some fairly nasty code in NTP's calendaring library to work
around the absence of a true 64-bit integral type. Is it time to rip
that code out?
Or, to put it differently, can anyone think of a compiler/platform
combination we care about that is 32-bit-only?
Data points: GCC and clang both conform to C99 and have 64-bit long long,
whatever the underlying hardware platform.
The ARM ABI requires that "long long" be 64 bits even though the
underlying hardware word length is 32.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
The right of the citizens to keep and bear arms has justly been considered as
the palladium of the liberties of a republic; since it offers a strong moral
check against usurpation and arbitrary power of rulers; and will generally,
even if these are successful in the first instance, enable the people to resist
and triumph over them."
-- Supreme Court Justice Joseph Story of the John Marshall Court
More information about the devel
mailing list