diff options
author | Jason Merrill <jason@redhat.com> | 2010-03-03 14:02:08 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-03-03 14:02:08 -0500 |
commit | 1d5053d6b407b6fc493151a3581df7c628ffa72b (patch) | |
tree | 194d8b86327b39798460337e66b7e50860713988 /gcc/lto-streamer-in.c | |
parent | 2c71ac786646a4ed4d221a574b2797c66549e9d6 (diff) | |
download | gcc-1d5053d6b407b6fc493151a3581df7c628ffa72b.zip gcc-1d5053d6b407b6fc493151a3581df7c628ffa72b.tar.gz gcc-1d5053d6b407b6fc493151a3581df7c628ffa72b.tar.bz2 |
re PR c++/12909 (ambiguity in mangling vector types)
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.
From-SVN: r157204
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 0955914..b098be2 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 |