cris-elf still broken with "[PATCH] Unbreak ia64 bootstrap (PR debug/45006)"
Hans-Peter Nilsson
hp@bitrange.com
Tue Jul 20 21:59:00 GMT 2010
On Tue, 20 Jul 2010, Jakub Jelinek wrote:
> Hi!
>
> My PR45003 fix apparently broke IA-64 bootstrap, because there
> FUNCTION_DECLs have DECL_MODE DImode, while TYPE_MODE of FUNCTION_TYPE
> is TImode. Guess that's related to fn descriptors.
Probably not; I saw the same for my cris-elf autotester. No fn
descriptors there.
> The following patch is an attempt to fix that.
But doesn't fix all introduced problems (read: r162348 doesn't
work), see PR45009.
> For FUNCTION_DECLs,
> I don't see how SIGN_EXTEND/ZERO_EXTEND on the MEM would be ever useful,
> FUNCTION_DECLs ought to appear in DEBUG stmts only inside of ADDR_EXPR
> where the MEM is not used anyway and we just use the address.
It might not matter in the context of a FUNCTION_DECL, but
anyway FWIW, sign-extend and zero-extend on mem are valid insns
(by themselves or as operands for add or sub) for cris/crisv32.
> PR debug/45006
> * cfgexpand.c (expand_debug_expr): Don't go through adjust_mode
> path for FUNCTION_DECLs. Only look at TYPE_UNSIGNED of
> operand's type if exp is tcc_unary class tree.
brgds, H-P
More information about the Gcc-patches
mailing list