From 0b9c3a04049b790ea3aa6afcfef611088496be9d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sun, 30 May 2010 14:27:18 +0200 Subject: [PATCH] dwarf2out.c (reference_to_unused, [...]): Avoid creating of new varool nodes. * dwarf2out.c (reference_to_unused, premark_types_used_by_global_vars_helper): Avoid creating of new varool nodes. From-SVN: r160052 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b31797b19b1..12fe9f980c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-30 Jan Hubicka + + * dwarf2out.c (reference_to_unused, + premark_types_used_by_global_vars_helper): Avoid creating of new + varool nodes. + 2010-05-30 Jan Hubicka * cgraph.h (cgraph_node_cannot_return, diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index eec92d342e6..48f5fa4c208 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -15938,8 +15938,8 @@ reference_to_unused (tree * tp, int * walk_subtrees, return *tp; else if (TREE_CODE (*tp) == VAR_DECL) { - struct varpool_node *node = varpool_node (*tp); - if (!node->needed) + struct varpool_node *node = varpool_get_node (*tp); + if (!node || !node->needed) return *tp; } else if (TREE_CODE (*tp) == FUNCTION_DECL @@ -18213,8 +18213,8 @@ premark_types_used_by_global_vars_helper (void **slot, { /* Ask cgraph if the global variable really is to be emitted. If yes, then we'll keep the DIE of ENTRY->TYPE. */ - struct varpool_node *node = varpool_node (entry->var_decl); - if (node->needed) + struct varpool_node *node = varpool_get_node (entry->var_decl); + if (node && node->needed) { die->die_perennial_p = 1; /* Keep the parent DIEs as well. */ -- 2.30.2