This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 64 to (nearly) 32 bit cross fix
On Tue, Jul 27, 1999 at 02:53:43AM -0600, Jeffrey A Law wrote:
> > (const_int 0xfffffff8)
> I think ^^^^^^^^^^^^^^^^^^^^^^
>
> Is the root of the problem. You shouldn't get that kind of a const_int in
> this case. It should have been sign extended out to the size of a
> HOST_WIDE_INT.
Nope. It's a pointer_type, and on this target therefore a
32-bit _unsigned_ quantity. And since BITS_PER_WORD is 64,
we don't trigger the sign-extend-from-word-size case either.
> This sounds awful similar to a bug I recently fixed in expr.c. Where is
> that const_int hunk of rtl being created?
Exactly where you made your last change in expr.c, only I had more
complicated trees. The test case is malloc from newlib.
r~