aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-30 14:27:18 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-30 12:27:18 +0000
commit0b9c3a04049b790ea3aa6afcfef611088496be9d (patch)
tree54525b369a3f43f52419d119f1ac56900fff36f6 /gcc/dwarf2out.c
parentd56026c21e98183dd543b799ba3a1e1adea9a22c (diff)
downloadgcc-0b9c3a04049b790ea3aa6afcfef611088496be9d.zip
gcc-0b9c3a04049b790ea3aa6afcfef611088496be9d.tar.gz
gcc-0b9c3a04049b790ea3aa6afcfef611088496be9d.tar.bz2
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
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index eec92d3..48f5fa4 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. */