This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Are 8-byte ints guaranteed?
- From: Joern RENNECKE <joern dot rennecke at st dot com>
- To: Thomas Koenig <Thomas dot Koenig at online dot de>
- Cc: fortran at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Date: Sun, 16 Jul 2006 21:08:01 +0100
- Subject: Re: Are 8-byte ints guaranteed?
are there any platforms where gcc doesn't support 8-byte ints?
Can a front end depend on this?
The rtl expander can open-code long long using a datatype with half the size if
no patterns are defined in the md file.
There are some processors where code using all long long operations would not fit
into the addressable program memory, but you probably wouldn't want fortran for these
anyway.
More serious is the matter of having exactly 8 bytes. long long is docuemnted to be
at least 64 bits, but there is no guarantee that it is exactly 64 bits. E.g. if the
target is word-addressed with 36 bit units, you'll get a 72 bit long long (2 units).
Currently, only the c4x has a BITS_PER_UNIT other than 8, and even the c4x definition
is a reltively harmless 32, but there is no guarantee that gcc won't aquire again some
more interesting definitions.
Also, right now on the c4x, you have to watch out not to confuse a byte with an addressable unit.