enable maximum integer type to be 128 bits
Jan Beulich
JBeulich@novell.com
Mon Jul 12 12:43:00 GMT 2004
Doing this just for an individual target is how I first did it. When I
did it for the second target, I already saw that doing this one-by-one
is not efficient. Thus the approach you got to see... Anyway, the target
this was done for originally is dead, but I submitted the patch because
unltimately I'd still like to see (not immediately) an ABI flavor on
x86-64/ia64 Linux that supports 128-bit ints (and not just
unidentifiable types that behave exactly like integer ones). Jan
>>> "Joseph S. Myers" <jsm@polyomino.org.uk> 12.07.04 10:28:11 >>>
On Mon, 12 Jul 2004, Jan Beulich wrote:
> We, basing our types model exclusively on C99, decided to not do so,
and
> you're basically saying that because gcc shouldn't be supported for
such
> an environment (my interpretation of 'open source' is that the source
is
> not only visible but also useful to everyone who cares).
Implementing a new target on which intmax_t is __int128_t, which is an
extended integer type, would be less controversial than an
ABI-breaking
configure option. After all, if your target's ABI says that is
intmax_t,
we support many weird things for the sake of target ABI compatibility.
If it makes size_t bigger than long it's still the case that as a host
(not target) it falls outside what the GNU Coding Standards say are of
interest for GNU software. I don't consider intmax_t bigger than long
an
intrinsic problem (that's only the case for C90 and POSIX <= 1996
integer
typedefs, and in practice off_t needs to be bigger than 32 bits anyway;
I
prefer the *BSD approach of 64-bit off_t unconditionally to the LFS
approach using _FILE_OFFSET_BITS as used by glibc).
I gave pointers in my first message to how to support wider intmax_t on
a
new target, updating the documentation of type macros and defining
__INTMAX_TYPE__, __UINTMAX_TYPE__, __INTMAX_MAX__ and using those in
the
testsuite.
--
Joseph S. Myers http://www.srcf.ucam.org/~jsm28/gcc/
jsm@polyomino.org.uk (personal mail)
jsm28@gcc.gnu.org (Bugzilla assignments and CCs)
More information about the Gcc-patches
mailing list