diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2010-12-22 03:49:00 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2010-12-22 03:49:00 +0000 |
commit | 8dcfef8f2b2ad81873c1d2bb55182125e3190557 (patch) | |
tree | acd635446a64407453a2f7688ccccc3c965f09f8 /gcc/dwarf2out.c | |
parent | 16a9afdc664f58ab8ad5e4bd2468cda18375d121 (diff) | |
download | gcc-8dcfef8f2b2ad81873c1d2bb55182125e3190557.zip gcc-8dcfef8f2b2ad81873c1d2bb55182125e3190557.tar.gz gcc-8dcfef8f2b2ad81873c1d2bb55182125e3190557.tar.bz2 |
re PR debug/46724 (Wrong debug info: Invalid variable location)
PR debug/46724
* function.c (assign_parms_augmented_arg_list): Name and mark
DECL of result address as NAMELESS rather than IGNORED.
(assign_parms): Set DECL_VALUE_EXPR for indirect result.
* tree.h (tree_decl_common::decl_flag_2): Document RESULT_DECL.
(DECL_HAS_VALUE_EXPR_P): Accept RESULT_DECL.
* dwarf2out.c (loc_list_from_tree) <RESULT_DECL>: Use
DECL_VALUE_EXPR.
* dbxout.c (dbxout_expand_expr) <RESULT_DECL>: Likewise.
* var-tracking.c (vt_add_function_parameter): New, split out of...
(vt_add_function_parameters): ... this. Handle incoming
pointer to hold result.
From-SVN: r168160
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 1fa3300..bc21875 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -15446,12 +15446,12 @@ loc_list_from_tree (tree loc, int want_address) /* FALLTHRU */ case PARM_DECL: + case RESULT_DECL: if (DECL_HAS_VALUE_EXPR_P (loc)) return loc_list_from_tree (DECL_VALUE_EXPR (loc), want_address); /* FALLTHRU */ - case RESULT_DECL: case FUNCTION_DECL: { rtx rtl; |