aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2005-06-01 00:39:49 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2005-06-01 00:39:49 +0000
commitf991abd12d6a68ed648edb6e01b34778afd74b6f (patch)
tree916b04dcdacaf7602bfac6975c23a7d34d9b5870 /gcc/tree.h
parent6d0d376c8f4185fabdebfd2d2280444545ffc6ac (diff)
downloadgcc-f991abd12d6a68ed648edb6e01b34778afd74b6f.zip
gcc-f991abd12d6a68ed648edb6e01b34778afd74b6f.tar.gz
gcc-f991abd12d6a68ed648edb6e01b34778afd74b6f.tar.bz2
c-objc-common.c (c_tree_printer): Check flag before hashtable.
2005-05-30 Daniel Berlin <dberlin@dberlin.org> * c-objc-common.c (c_tree_printer): Check flag before hashtable. Use DECL_DEBUG_EXPR and SET_DECL_DEBUG_EXPR. * dwarf2out.c (dwarf2out_var_location): Ditto. * toplev.c (default_tree_printer): Ditto. * tree-outof-ssa.c (create_temp): Ditto. * tree-sra.c (instantiate_element): Ditto. * var-tracking.c (track_expr_p): Ditto. * tree.c (struct tree_map): New structure. (debug_expr_for_decl): New. (tree_map_eq): New function. (tree_map_hash): Ditto. (tree_map_marked_p): Ditto. (print_debug_expr_statistics): Ditto. (decl_debug_expr_lookup): Ditto. (decl_debug_expr_insert): Ditto. (dump_tree_statistics): Dump debug_expr hashtable stats. * tree.h (DECL_DEBUG_EXPR): Change (SET_DECL_DEBUG_EXPR): Add. From-SVN: r100417
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index e72a20f..e842f69 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2053,10 +2053,17 @@ struct tree_binfo GTY (())
writing debugging information about vfield and vbase decls for C++. */
#define DECL_FCONTEXT(NODE) (FIELD_DECL_CHECK (NODE)->decl.vindex)
+extern tree decl_debug_expr_lookup (tree);
+extern void decl_debug_expr_insert (tree, tree);
+
/* For VAR_DECL, this is set to either an expression that it was split
from (if DECL_DEBUG_EXPR_IS_FROM is true), otherwise a tree_list of
subexpressions that it was split into. */
-#define DECL_DEBUG_EXPR(NODE) (DECL_CHECK (NODE)->decl.vindex)
+#define DECL_DEBUG_EXPR(NODE) \
+ (decl_debug_expr_lookup (VAR_DECL_CHECK (NODE)))
+
+#define SET_DECL_DEBUG_EXPR(NODE, VAL) \
+ (decl_debug_expr_insert (VAR_DECL_CHECK (NODE), (VAL)))
#define DECL_DEBUG_EXPR_IS_FROM(NODE) \
(DECL_CHECK (NODE)->decl.debug_expr_is_from)