diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-31 10:18:27 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-31 10:18:27 +0000 |
commit | d42d3fad6998402ea943bc2a3159cad09eb288d5 (patch) | |
tree | d70dbc97eb104b1c403ef6d4cff46da1ebf52c76 /gcc/dwarf2out.c | |
parent | 8422fa6afbb619fc66678c664bfaf834691527fc (diff) | |
download | gcc-d42d3fad6998402ea943bc2a3159cad09eb288d5.tar.gz |
2012-10-31 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 193029 using svnmerge.py
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@193030 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index bed3d67353a..24c75065656 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -4622,7 +4622,10 @@ add_var_loc_to_decl (tree decl, rtx loc_note, const char *label) if (DECL_DEBUG_EXPR_IS_FROM (decl)) { tree realdecl = DECL_DEBUG_EXPR (decl); - if (realdecl && handled_component_p (realdecl)) + if (realdecl + && (handled_component_p (realdecl) + || (TREE_CODE (realdecl) == MEM_REF + && TREE_CODE (TREE_OPERAND (realdecl, 0)) == ADDR_EXPR))) { HOST_WIDE_INT maxsize; tree innerdecl; @@ -21259,7 +21262,8 @@ prune_unused_types_prune (dw_die_ref die) /* If we pruned children, and this is a class, mark it as a declaration to inform debuggers that this is not a complete class definition. */ - if (pruned && die->die_mark == 1 && class_scope_p (die)) + if (pruned && die->die_mark == 1 && class_scope_p (die) + && ! is_declaration_die (die)) add_AT_flag (die, DW_AT_declaration, 1); } |