[Bug debug/50299] entryval: bigendian 32bit->64bit extension breaks address match
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 12 16:18:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50299
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-09-12 15:49:43 UTC ---
Author: jakub
Date: Mon Sep 12 15:49:38 2011
New Revision: 178784
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178784
Log:
PR debug/50299
* calls.c (load_register_parameters): Use use_reg_mode instead
of use_reg when adding a single register CALL_INSN_FUNCTION_USAGE
entry.
(expand_call): Set EXPR_LIST mode to TYPE_MODE of the argument
for stack CALL_INSN_FUNCTION_USAGE uses.
* expr.h (use_reg_mode): New prototype.
(use_reg): Changed into inline around use_reg_mode.
* expr.c (use_reg): Renamed to...
(use_reg_mode): ... this. Added MODE argument, set EXPR_LIST
mode to that mode instead of VOIDmode.
* var-tracking.c (prepare_call_arguments): Don't track parameters
whose EXPR_LIST mode is VOIDmode, BLKmode or X mode isn't convertible
to it using lowpart_subreg. Convert VALUE and REG/MEM to the
EXPR_LIST mode.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/expr.c
trunk/gcc/expr.h
trunk/gcc/var-tracking.c
More information about the Gcc-bugs
mailing list