This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]