This is the mail archive of the
mailing list for the GCC project.
Re: GCC build failed with your patch on 2001-01-09T11:35:00Z.
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: GCC build failed with your patch on 2001-01-09T11:35:00Z.
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Tue, 09 Jan 2001 14:12:18 -0500
- cc: Geoff Keating <geoffk at redhat dot com>, rth at redhat dot com, gcc at gcc dot gnu dot org, gcc-regression at gcc dot gnu dot org, grahams at redhat dot com, jsm28 at cam dot ac dot uk, mhayes at redhat dot com, neil at daikokuya dot demon dot co dot uk, osk at hem dot passagen dot se
>>>>> Alexandre Oliva writes:
Alexandre> Then you must arrange for MAX_LONG_TYPE_SIZE to be #undefined or
Alexandre> #defined to 32 (as long as LONG_TYPE_SIZE isn't wider than that).
Alexandre> AFAICT, MAX_LONG_TYPE_SIZE is defined to 64, and that's the reason why
Alexandre> you get a 64-bit HOST_WIDE_INT.
The rs6000 port supports both 32-bit and 64-bit computation based
on a runtime flag. Therefore, the MAX_LONG_TYPE_SIZE is 64 because it can
attain that value with the appropriate runtime flag. This is necessary
for 64-bit support.
I was unaware of your patch until this discussion arose. I think
that it is a very bad patch and I urge you to revert it. hwint.h should
not be assuming what size HOST_WIDE_INT to use other than the maximum,
natural host wide int. If you want to allow someone to use "long long",
then make that a configure option, not imposing that on every target by
The rs6000 port cannot set MAX_LONG_TYPE_SIZE to 32. If you
insist on retaining the patch, then you need to fix 64-bit host support
for the rs6000 port.