diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-12-03 17:39:56 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-12-03 17:39:56 +0100 |
commit | f8cca67b9c954eca6540832ad88c6ddeb30cbaeb (patch) | |
tree | 1c54a346df5ae59f2f23d251a7bb9830f3367d17 /gcc/tree-ssa.c | |
parent | a8028a3ee823ad31d8aecfa610c99af3da92c4ea (diff) | |
download | gcc-f8cca67b9c954eca6540832ad88c6ddeb30cbaeb.zip gcc-f8cca67b9c954eca6540832ad88c6ddeb30cbaeb.tar.gz gcc-f8cca67b9c954eca6540832ad88c6ddeb30cbaeb.tar.bz2 |
re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
* tree-ssa.c (target_for_debug_bind): Also allow is_gimple_reg_type
vars that aren't referenced.
(tree-ssa-live.c (remove_unused_locals): Don't clear TREE_ADDRESSABLE
of unreferenced local vars.
* cfgexpand.c (expand_debug_expr): For DEBUG_IMPLICIT_PTR allow also
TREE_ADDRESSABLE vars that satisfy target_for_debug_bind.
From-SVN: r181971
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 9785721..8485af0 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -264,7 +264,12 @@ target_for_debug_bind (tree var) return NULL_TREE; if (!is_gimple_reg (var)) - return NULL_TREE; + { + if (is_gimple_reg_type (TREE_TYPE (var)) + && referenced_var_lookup (cfun, DECL_UID (var)) == NULL_TREE) + return var; + return NULL_TREE; + } return var; } |