This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: CVS-19981209: Patch for "unsigned HOST_WIDE_INT" on Solaris2.6
- To: law at cygnus dot com
- Subject: Re: CVS-19981209: Patch for "unsigned HOST_WIDE_INT" on Solaris2.6
- From: Paul Eggert <eggert at twinsun dot com>
- Date: Tue, 15 Dec 1998 20:55:30 -0800 (PST)
- CC: moshier at mediaone dot net, manfred at s-direktnet dot de, Manfred dot Hollstein at ks dot sel dot alcatel dot de, brolley at cygnus dot com, egcs-patches at cygnus dot com, gcc2 at gnu dot org
- References: <17657.913535289@hurl.cygnus.com>
Date: Sun, 13 Dec 1998 00:48:09 -0700
From: Jeffrey A Law <law@hurl.cygnus.com>
> and then use `unsigned_HOST_WIDE_INT' uniformly in the code. (If you
> prefer some other name like HOST_WIDE_UINT then we could use that
> instead.)
Are you going to convert all the code to use the new scheme? What
about front ends like Ada and Pascal which we do not control.
It's a trivial change, and any errors will be caught at compile-time.
(If the spelling is unsigned_HOST_WIDE_INT we needn't even change the
layout. :-)
Do you really want all those HOST_WIDE_INT calculations in the
compiler to be done with long long types?
In the case of cpp, absolutely. Having HOST_WIDE_INT be `long' breaks
cpp in several common cases (including GNU/Linux x86); it no longer
handles long long constants correctly.
For cc1 I doubt whether long long hurts performance much, but I
wouldn't mind someone measuring the performance difference.
I fixed a mountain of these problems for egcs when working on a
port that needed HOST_WIDE_INT to be a long long.
Those fixes should be propagated into gcc. Clearly gcc should not
assume that HOST_WIDE_INT is `long'.