aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-in.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-08-03 21:54:18 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-08-03 19:54:18 +0000
commit815effe15595b6f680baedaf28868a0d21335302 (patch)
tree03ce7f28fa403515aaa2237e480f2c85c5013a0b /gcc/tree-streamer-in.c
parent07838b1363318105e615be10b016099c557927d9 (diff)
downloadgcc-815effe15595b6f680baedaf28868a0d21335302.zip
gcc-815effe15595b6f680baedaf28868a0d21335302.tar.gz
gcc-815effe15595b6f680baedaf28868a0d21335302.tar.bz2
lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into boundaries.
* lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into boundaries. * lto-streamer-out.c (tree_is_indexable): Results decls and parm decls are not indexable. (DFS_write_tree_body): Do not follow args and results. (hash_tree): Likewise. (output_functions): Rearrange so struct function is needed only when real body is output; be able to also ouptut abstract functions; output DECL_ARGUMENTS and DECL_RESULT. (lto_output): When not in WPA, ale store abstract functions. (write_symbol): Do not care about RESULT_DECL. (output_symbol_p): Handle correctly sbtract decls. * lto-streamer-in.c (input_function): Rearrange so struct function can be NULL at entry; allow streaming of functions w/o body; store DECL_ARGUMENTS and DECL_RESULT. * ipa.c (symtab_remove_unreachable_nodes): Silence confused sanity check during LTO. * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Skip RESULT_DECl and DECL_ARGUMENTS. * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers): Likewise. * lto.c (lto_materialize_function): Do not push struct function. * lto-partition.c (get_symbol_class): Handle abstracts correctly. (may_need_named_section_p): Even abstract origins may need named section. From-SVN: r201468
Diffstat (limited to 'gcc/tree-streamer-in.c')
-rw-r--r--gcc/tree-streamer-in.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index 00f78a1..9efd099 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -678,12 +678,7 @@ static void
lto_input_ts_decl_non_common_tree_pointers (struct lto_input_block *ib,
struct data_in *data_in, tree expr)
{
- if (TREE_CODE (expr) == FUNCTION_DECL)
- {
- DECL_ARGUMENTS (expr) = streamer_read_chain (ib, data_in);
- DECL_RESULT (expr) = stream_read_tree (ib, data_in);
- }
- else if (TREE_CODE (expr) == TYPE_DECL)
+ if (TREE_CODE (expr) == TYPE_DECL)
DECL_ORIGINAL_TYPE (expr) = stream_read_tree (ib, data_in);
DECL_VINDEX (expr) = stream_read_tree (ib, data_in);
}