This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR 13987, compile time slow down on powerpc-apple-darwin
I think that sbitmap could unconditionally use unsigned long. Where
it is efficient to have 64-bit integers, longs are most likely 64 bit
integers.
I don't really agree with that, since systems often have a programming
mode in which longs are 32 bits even on a 64-bit system, just for
backward compatibility.
But I do think that the default in Andrew's patch should be to use
'unsigned long' on all systems, and specific systems should change
that default when appropriate.
What would be a good name for this type... HOST_FAST_INT perhaps?
Also, there is this comment in hwint.h:
/* Set HOST_WIDE_INT. This should be the widest efficient host
integer type. It can be 32 or 64 bits, except that if we are
targeting a machine with 64-bit size_t then it has to be 64 bits.
With a sane ABI, 'long' is the largest efficient host integer type.
Thus, we use that unless we have to use 'long long' or '__int64'
because we're targeting a 64-bit machine from a 32-bit host. */
I see no way a specific system can currently override this.
Should a mechanism for that be added, or should the comment
be changed?
Segher