From 6541e9a17bf2c30aeebdb16074b89461a2b7fd1c Mon Sep 17 00:00:00 2001 From: rguenth Date: Tue, 4 Feb 2014 14:53:24 +0000 Subject: 2014-02-04 Richard Biener PR lto/59723 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs in function context local. (lto_output_tree_ref): Do not write trees from lto_output_tree_ref. * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref similar to LTO_imported_decl_ref. lto/ * lto.c (mentions_vars_p): Handle NAMELIST_DECL. (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207471 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/lto-streamer-in.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) (limited to 'gcc/lto-streamer-in.c') diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index df32a6b846a..68d3cdac41f 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -244,32 +244,11 @@ lto_input_tree_ref (struct lto_input_block *ib, struct data_in *data_in, case LTO_imported_decl_ref: case LTO_label_decl_ref: case LTO_translation_unit_decl_ref: + case LTO_namelist_decl_ref: ix_u = streamer_read_uhwi (ib); result = lto_file_decl_data_get_var_decl (data_in->file_data, ix_u); break; - case LTO_namelist_decl_ref: - { - tree tmp; - vec *nml_decls = NULL; - unsigned i, n; - - result = make_node (NAMELIST_DECL); - TREE_TYPE (result) = void_type_node; - DECL_NAME (result) = stream_read_tree (ib, data_in); - n = streamer_read_uhwi (ib); - for (i = 0; i < n; i++) - { - ix_u = streamer_read_uhwi (ib); - tmp = lto_file_decl_data_get_var_decl (data_in->file_data, ix_u); - gcc_assert (tmp != NULL_TREE); - CONSTRUCTOR_APPEND_ELT (nml_decls, NULL_TREE, tmp); - } - NAMELIST_DECL_ASSOCIATED_DECL (result) = build_constructor (NULL_TREE, - nml_decls); - break; - } - default: gcc_unreachable (); } -- cgit v1.2.1