aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-03-16 09:35:31 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-03-16 09:35:31 +0100
commita58a8e4b1f724fdb5edfd09660963404439428f7 (patch)
treee1c308ef8c1fe2a484b5a77d166cb4b3682c3f18 /gcc/dwarf2out.c
parent2b1c543325692d744eec22f779656e13605c3ceb (diff)
downloadgcc-a58a8e4b1f724fdb5edfd09660963404439428f7.zip
gcc-a58a8e4b1f724fdb5edfd09660963404439428f7.tar.gz
gcc-a58a8e4b1f724fdb5edfd09660963404439428f7.tar.bz2
re PR debug/45882 (No debug info for vars depending on unused parameter)
PR debug/45882 * rtl.def (ENTRY_VALUE): Change format from "e" to "0". * rtl.h (ENTRY_VALUE_EXP): Define. * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE. * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise. * print-rtl.c (print_rtx): Likewise. * gengtype.c (adjust_field_rtx_def): Likewise. * var-tracking.c (vt_add_function_parameter): Adjust gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro. * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro. * cfgexpand.c (expand_debug_expr): If a SSA_NAME without partition is a default definition of a PARM_DECL, use ENTRY_VALUE of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set. * gcc.dg/guality/pr45882.c: New test. From-SVN: r171035
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7e257c3..b4bca78 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -14028,14 +14028,14 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
case ENTRY_VALUE:
mem_loc_result = new_loc_descr (DW_OP_GNU_entry_value, 0, 0);
mem_loc_result->dw_loc_oprnd1.val_class = dw_val_class_loc;
- if (REG_P (XEXP (rtl, 0)))
+ if (REG_P (ENTRY_VALUE_EXP (rtl)))
mem_loc_result->dw_loc_oprnd1.v.val_loc
- = one_reg_loc_descriptor (dbx_reg_number (XEXP (rtl, 0)),
+ = one_reg_loc_descriptor (dbx_reg_number (ENTRY_VALUE_EXP (rtl)),
VAR_INIT_STATUS_INITIALIZED);
- else if (MEM_P (XEXP (rtl, 0)) && REG_P (XEXP (XEXP (rtl, 0), 0)))
+ else if (MEM_P (ENTRY_VALUE_EXP (rtl)) && REG_P (XEXP (ENTRY_VALUE_EXP (rtl), 0)))
{
dw_loc_descr_ref ref
- = mem_loc_descriptor (XEXP (rtl, 0), GET_MODE (rtl),
+ = mem_loc_descriptor (ENTRY_VALUE_EXP (rtl), GET_MODE (rtl),
VAR_INIT_STATUS_INITIALIZED);
if (ref == NULL)
return NULL;