This is the mail archive of the
mailing list for the GCC project.
cris-elf still broken with "[PATCH] Unbreak ia64 bootstrap (PR debug/45006)"
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 20 Jul 2010 17:59:06 -0400 (EDT)
- Subject: cris-elf still broken with "[PATCH] Unbreak ia64 bootstrap (PR debug/45006)"
- References: <20100720163614.GF19172@tyan-ft48-01.lab.bos.redhat.com>
On Tue, 20 Jul 2010, Jakub Jelinek wrote:
> 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
> 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.