From ac3bfd867b1e0a702551bcf0581b481885eb4938 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Fri, 24 Dec 2004 05:23:10 +0000 Subject: re PR tree-optimization/14638 (Variables disappear from debug info at -O1) 2004-12-24 Daniel Berlin 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. From-SVN: r92585 --- gcc/tree.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/tree.h') diff --git a/gcc/tree.h b/gcc/tree.h index 1411d71..0858670 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) -- cgit v1.1