aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-out.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-06-25 01:14:26 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-06-24 23:14:26 +0000
commitaaf8a23ef3ff2055dde65871b438883ecc067bb0 (patch)
tree4eb562a7b31cab4e4e7d8a28aa86e3deca8f76e5 /gcc/tree-streamer-out.c
parentecc6304308f19c159a9df27d0bd5a66f5acbba83 (diff)
downloadgcc-aaf8a23ef3ff2055dde65871b438883ecc067bb0.zip
gcc-aaf8a23ef3ff2055dde65871b438883ecc067bb0.tar.gz
gcc-aaf8a23ef3ff2055dde65871b438883ecc067bb0.tar.bz2
class.c (check_methods, [...]): Guard VINDEX checks by FUNCTION_DECL check.
* class.c (check_methods, create_vtable_ptr, determine_key_method, add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check. * cp-tree.h (lang_decl_ns): Add ns_using and ns_users. (DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): Use lang_decl_ns. (DECL_NAMESPACE_ASSOCIATIONS): Use DECL_INITIAL. (DECL_TEMPLATE_INSTANTIATIONS): Use DECL_SIZE_UNIT. * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL. * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION. * tree-core.h (tree_decl_non_common): Move saved_tree and vindex... (tree_function_decl): ... here. * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move streaming of vindex to ... (write_ts_function_decl_tree_pointers): ... here. * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers): Do not stream DECL_VINDEX. (lto_input_ts_function_decl_tree_pointers): Stream it here. * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to .. (mentions_vars_p_function): ... here. (compare_tree_sccs_1): Update VINDEX checks. (lto_fixup_prevailing_decls): Likewise. From-SVN: r211960
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r--gcc/tree-streamer-out.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index d4d0f1b..52e714e 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -638,7 +638,6 @@ write_ts_decl_non_common_tree_pointers (struct output_block *ob, tree expr,
{
if (TREE_CODE (expr) == TYPE_DECL)
stream_write_tree (ob, DECL_ORIGINAL_TYPE (expr), ref_p);
- stream_write_tree (ob, DECL_VINDEX (expr), ref_p);
}
@@ -682,6 +681,7 @@ static void
write_ts_function_decl_tree_pointers (struct output_block *ob, tree expr,
bool ref_p)
{
+ stream_write_tree (ob, DECL_VINDEX (expr), ref_p);
/* DECL_STRUCT_FUNCTION is handled by lto_output_function. FIXME lto,
maybe it should be handled here? */
stream_write_tree (ob, DECL_FUNCTION_PERSONALITY (expr), ref_p);