summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-24 05:23:10 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-24 05:23:10 +0000
commitbbc7bce1c47bab845c0b7e35395958f7ec852660 (patch)
treea627db8a80c09e929338b90c21134a1193390049 /gcc/tree.h
parente92a2a2e96093e5721ddcba7c1ec3425c5b68d26 (diff)
downloadgcc-bbc7bce1c47bab845c0b7e35395958f7ec852660.tar.gz
2004-12-24 Daniel Berlin <dberlin@dberlin.org>
Fix PR debug/14638 * tree.h (DECL_DEBUG_ALIAS_OF): New macro. * var-tracking.c (track_expr_p): Don't disqualify tracking of variables that are aliases of variables we want to track, unless the original variable is also ignored for debugging purposes. (VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic. * tree-outof-ssa.c (create_temp): Note who we are a debug alias of. * dwarf2out.c (dwarf2out_var_location): Add us to the location of the decl we are an alias of. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92585 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 1411d71ad52..0858670609c 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2014,6 +2014,10 @@ struct tree_binfo GTY (())
writing debugging information about vfield and vbase decls for C++. */
#define DECL_FCONTEXT(NODE) (FIELD_DECL_CHECK (NODE)->decl.vindex)
+/* For VAR_DECL, this is set to the variable we were split from, due to
+ optimization. */
+#define DECL_DEBUG_ALIAS_OF(NODE) (DECL_CHECK (NODE)->decl.vindex)
+
/* Every ..._DECL node gets a unique number. */
#define DECL_UID(NODE) (DECL_CHECK (NODE)->decl.uid)