summaryrefslogtreecommitdiff
path: root/gcc/lto-streamer-in.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-03 19:02:08 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-03 19:02:08 +0000
commitdfe4eda7df0bce0061f4f1073b03840b04db818b (patch)
tree194d8b86327b39798460337e66b7e50860713988 /gcc/lto-streamer-in.c
parentf7496db6ed821b01c26f8ba98b8cca97bc7f6b37 (diff)
downloadgcc-dfe4eda7df0bce0061f4f1073b03840b04db818b.tar.gz
PR c++/12909
* lto-streamer.h (LTO_tags): Add LTO_var_decl_alias. * lto-streamer-in.c (lto_input_tree): Read it. * lto-streamer-out.c (output_unreferenced_globals): Write it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157204 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r--gcc/lto-streamer-in.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 095591484db..b098be2b4c0 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -2696,6 +2696,17 @@ lto_input_tree (struct lto_input_block *ib, struct data_in *data_in)
the code and class. */
result = lto_get_builtin_tree (ib, data_in);
}
+ else if (tag == LTO_var_decl_alias)
+ {
+ /* An extra_name alias for a variable. */
+ unsigned HOST_WIDE_INT ix;
+ tree target;
+ ix = lto_input_uleb128 (ib);
+ result = lto_file_decl_data_get_var_decl (data_in->file_data, ix);
+ ix = lto_input_uleb128 (ib);
+ target = lto_file_decl_data_get_var_decl (data_in->file_data, ix);
+ varpool_extra_name_alias (result, target);
+ }
else if (tag == lto_tree_code_to_tag (INTEGER_CST))
{
/* For integer constants we only need the type and its hi/low