aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2014-03-25 11:57:07 +0100
committerMartin Jambor <jamborm@gcc.gnu.org>2014-03-25 11:57:07 +0100
commit4a5798de3eabbe16398c11dcdb4cead64299d212 (patch)
tree7d89766552b63f452adad8f75c44f0fc56bdae12 /gcc
parent585d00880ef6af7beb0a29cdd56396ec9d68e3cc (diff)
downloadgcc-4a5798de3eabbe16398c11dcdb4cead64299d212.zip
gcc-4a5798de3eabbe16398c11dcdb4cead64299d212.tar.gz
gcc-4a5798de3eabbe16398c11dcdb4cead64299d212.tar.bz2
re PR ipa/59176 (ICE edge points to wrong declaration / verify_cgraph_node failed)
2014-03-25 Martin Jambor <mjambor@suse.cz> PR ipa/59176 * lto-cgraph.c (lto_output_node): Stream body_removed flag. (lto_output_varpool_node): Likewise. (input_overwrite_node): Likewise. (input_varpool_node): Likewise. From-SVN: r208809
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/lto-cgraph.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index edb45ec..7cfbab7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2014-03-25 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/59176
+ * lto-cgraph.c (lto_output_node): Stream body_removed flag.
+ (lto_output_varpool_node): Likewise.
+ (input_overwrite_node): Likewise.
+ (input_varpool_node): Likewise.
+
2014-03-25 Richard Biener <rguenther@suse.de>
* lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index ef3890d..60ae132 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -500,6 +500,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
bp_pack_value (&bp, node->force_output, 1);
bp_pack_value (&bp, node->forced_by_abi, 1);
bp_pack_value (&bp, node->unique_name, 1);
+ bp_pack_value (&bp, node->body_removed, 1);
bp_pack_value (&bp, node->address_taken, 1);
bp_pack_value (&bp, tag == LTO_symtab_analyzed_node
&& symtab_get_symbol_partitioning_class (node) == SYMBOL_PARTITION
@@ -560,6 +561,7 @@ lto_output_varpool_node (struct lto_simple_output_block *ob, varpool_node *node,
bp_pack_value (&bp, node->force_output, 1);
bp_pack_value (&bp, node->forced_by_abi, 1);
bp_pack_value (&bp, node->unique_name, 1);
+ bp_pack_value (&bp, node->body_removed, 1);
bp_pack_value (&bp, node->definition, 1);
alias_p = node->alias && (!boundary_p || node->weakref);
bp_pack_value (&bp, alias_p, 1);
@@ -969,6 +971,7 @@ input_overwrite_node (struct lto_file_decl_data *file_data,
node->force_output = bp_unpack_value (bp, 1);
node->forced_by_abi = bp_unpack_value (bp, 1);
node->unique_name = bp_unpack_value (bp, 1);
+ node->body_removed = bp_unpack_value (bp, 1);
node->address_taken = bp_unpack_value (bp, 1);
node->used_from_other_partition = bp_unpack_value (bp, 1);
node->lowered = bp_unpack_value (bp, 1);
@@ -1147,6 +1150,7 @@ input_varpool_node (struct lto_file_decl_data *file_data,
node->force_output = bp_unpack_value (&bp, 1);
node->forced_by_abi = bp_unpack_value (&bp, 1);
node->unique_name = bp_unpack_value (&bp, 1);
+ node->body_removed = bp_unpack_value (&bp, 1);
node->definition = bp_unpack_value (&bp, 1);
node->alias = bp_unpack_value (&bp, 1);
node->weakref = bp_unpack_value (&bp, 1);