diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-04 14:53:24 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-04 14:53:24 +0000 |
commit | 6541e9a17bf2c30aeebdb16074b89461a2b7fd1c (patch) | |
tree | 24390526b3202113732fbbc802698a5f6e95ed74 /gcc/lto-streamer-in.c | |
parent | 1be67dbfddb4a9efbb2ebee59402f1b8530d9452 (diff) | |
download | gcc-6541e9a17bf2c30aeebdb16074b89461a2b7fd1c.tar.gz |
2014-02-04 Richard Biener <rguenther@suse.de>
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
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 23 |
1 files changed, 1 insertions, 22 deletions
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<constructor_elt, va_gc> *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 (); } |