From: hubicka Date: Sun, 30 May 2010 12:27:18 +0000 (+0000) Subject: * dwarf2out.c (reference_to_unused, X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ade5ad23860404de680a9c15edf799fbb575813;p=thirdparty%2Fgcc.git * dwarf2out.c (reference_to_unused, premark_types_used_by_global_vars_helper): Avoid creating of new varool nodes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160052 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b31797b19b1d..12fe9f980c89 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 eec92d342e6e..48f5fa4c2085 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. */