aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-out.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2018-08-30 17:05:38 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2018-08-30 15:05:38 +0000
commit2ebbdb6ca3f69cdac97aeba48a7f00ea40337cd5 (patch)
tree1e40ab202c9f3cae5ffbc665346f1312fa99cb81 /gcc/tree-streamer-out.c
parent21592ebe9d8d1d3486be575d6a64dfa10eba17b1 (diff)
downloadgcc-2ebbdb6ca3f69cdac97aeba48a7f00ea40337cd5.zip
gcc-2ebbdb6ca3f69cdac97aeba48a7f00ea40337cd5.tar.gz
gcc-2ebbdb6ca3f69cdac97aeba48a7f00ea40337cd5.tar.bz2
lto-streamer-out.c (DFS::DFS_write_tree_body): Do not follow TYPE_STUB_DECL.
* lto-streamer-out.c (DFS::DFS_write_tree_body): Do not follow TYPE_STUB_DECL. (hash_tree): Do not visit TYPE_STUB_DECL. * tree-streamer-out.c (write_ts_type_common_tree_pointers): Do not stream TYPE_STUB_DECL. * tree-streamer-in.c (lto_input_ts_type_common_tree_pointers): Likewise. * ipa-utils.h (type_with_linkage_p): Do not rely on TYPE_STUB_DECL after free_lang_data. (type_in_anonymous_namespace_p): Likewise. From-SVN: r263985
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r--gcc/tree-streamer-out.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index d86f352..60ec178 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -686,7 +686,9 @@ write_ts_type_common_tree_pointers (struct output_block *ob, tree expr,
stream_write_tree (ob, TYPE_CONTEXT (expr), ref_p);
/* TYPE_CANONICAL is re-computed during type merging, so no need
to stream it here. */
- stream_write_tree (ob, TYPE_STUB_DECL (expr), ref_p);
+ /* Do not stream TYPE_STUB_DECL; it is not needed by LTO but currently
+ it can not be freed by free_lang_data without triggering ICEs in
+ langhooks. */
}
/* Write all pointer fields in the TS_TYPE_NON_COMMON structure of EXPR