aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2010-12-22 03:49:00 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2010-12-22 03:49:00 +0000
commit8dcfef8f2b2ad81873c1d2bb55182125e3190557 (patch)
treeacd635446a64407453a2f7688ccccc3c965f09f8 /gcc/dwarf2out.c
parent16a9afdc664f58ab8ad5e4bd2468cda18375d121 (diff)
downloadgcc-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.c2
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;