IA64 Pointer conversion question / convert code already wrong?
Steve Ellcey
sje@cup.hp.com
Mon Apr 25 18:59:00 GMT 2005
> Also, I think convert_memory_address ought to have a
> gcc_assert (GET_MODE (x) == to_mode);
> in the #ifndef case.
Interesting, I put this assertion in my code and I now cannot bootstrap
on HPPA. Looking at the HPPA builds (where POINTERS_EXTEND_UNSIGNED if
not defined) I see the assertion fail because I enter
convert_memory_address with to_mode set to SImode and x set to
'(const_int 0 [0x0])'.
The call to convert_memory_address is being made from memory_address
(explow.c:404).
I am not sure if this is a bug, or if convert_memory_address should
allow this by doing nothing (current behaviour) or if
convert_memory_address should be changed so that it does the same
conversion on const_int values when POINTERS_EXTEND_UNSIGNED is
undefined as it does when POINTERS_EXTEND_UNSIGNED is defined.
Steve Ellcey
sje@cup.hp.com
More information about the Gcc
mailing list