From b6a800c7ff4caf0c93bc481254ab5e65ec6a85d6 Mon Sep 17 00:00:00 2001 From: jakub Date: Fri, 1 Apr 2011 21:14:36 +0000 Subject: [PATCH] PR bootstrap/48148 * dwarf2out.c (resolve_addr): Don't call force_decl_die if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN. Revert: 2011-03-17 Richard Guenther PR bootstrap/48148 * lto-cgraph.c (input_overwrite_node): Clear the abstract origin for decls in other ltrans units. (input_varpool_node): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171856 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/dwarf2out.c | 4 +++- gcc/lto-cgraph.c | 4 +--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a1ee99ad055..ab0b3f53ab9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,19 @@ 2011-04-01 Jakub Jelinek + PR bootstrap/48148 + * dwarf2out.c (resolve_addr): Don't call force_decl_die + if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN. + + Revert: + 2011-03-17 Richard Guenther + + PR bootstrap/48148 + * lto-cgraph.c (input_overwrite_node): Clear the abstract + origin for decls in other ltrans units. + (input_varpool_node): Likewise. + +2011-04-01 Jakub Jelinek + PR middle-end/48335 * expr.c (expand_assignment): Handle all possibilities if TO_RTX is CONCAT. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b299bc7926a..956e80544e6 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -23044,7 +23044,9 @@ resolve_addr (dw_die_ref die) { tree tdecl = SYMBOL_REF_DECL (a->dw_attr_val.v.val_addr); dw_die_ref tdie = lookup_decl_die (tdecl); - if (tdie == NULL && DECL_EXTERNAL (tdecl)) + if (tdie == NULL + && DECL_EXTERNAL (tdecl) + && DECL_ABSTRACT_ORIGIN (tdecl) == NULL_TREE) { force_decl_die (tdecl); tdie = lookup_decl_die (tdecl); diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index 7c2582de7be..8838947983c 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -1,7 +1,7 @@ /* Write and read the cgraph to the memory mapped representation of a .o file. - Copyright 2009, 2010 Free Software Foundation, Inc. + Copyright 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Kenneth Zadeck This file is part of GCC. @@ -975,7 +975,6 @@ input_overwrite_node (struct lto_file_decl_data *file_data, || node->clone_of->decl != node->decl)) { DECL_EXTERNAL (node->decl) = 1; - DECL_ABSTRACT_ORIGIN (node->decl) = NULL_TREE; TREE_STATIC (node->decl) = 0; } node->alias = bp_unpack_value (bp, 1); @@ -1147,7 +1146,6 @@ input_varpool_node (struct lto_file_decl_data *file_data, if (node->in_other_partition) { DECL_EXTERNAL (node->decl) = 1; - DECL_ABSTRACT_ORIGIN (node->decl) = NULL_TREE; TREE_STATIC (node->decl) = 0; } aliases_p = bp_unpack_value (&bp, 1); -- 2.11.4.GIT