summaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-out.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-29 16:23:40 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-29 16:23:40 +0000
commit2d9cc4811f38e1bef8d937ed203ebb24b6ceb786 (patch)
tree1df39b88ca7b48b23bb85cc3489bbbadade48d83 /gcc/tree-streamer-out.c
parent202c2bd9a4ef1f737d8a57b2bbc7ff7c447f4544 (diff)
downloadgcc-2d9cc4811f38e1bef8d937ed203ebb24b6ceb786.tar.gz
* lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and TYPE_FINAL_P. * lto-streamer-out.c (hash_tree): Stream DECL_FINAL_P. DECL_CXX_CONSTRUCTOR_P. DECL_CXX_DESTRUCTOR_P. TYPE_FINAL_P. * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): DECL_FINAL_P. DECL_CXX_CONSTRUCTOR_P and DECL_CXX_DESTRUCTOR_P. (unpack_ts_type_common_value_fields): Stream TYPE_FINAL_P. * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Add DECL_FINAL_P, DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P (pack_ts_type_common_value_fields): Add TYPE_FINAL_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202079 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r--gcc/tree-streamer-out.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index 095d55936a3..98e5cf57785 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -240,6 +240,12 @@ pack_ts_decl_with_vis_value_fields (struct bitpack_d *bp, tree expr)
bp_pack_value (bp, DECL_TLS_MODEL (expr), 3);
}
+ if (TREE_CODE (expr) == FUNCTION_DECL)
+ {
+ bp_pack_value (bp, DECL_FINAL_P (expr), 1);
+ bp_pack_value (bp, DECL_CXX_CONSTRUCTOR_P (expr), 1);
+ bp_pack_value (bp, DECL_CXX_DESTRUCTOR_P (expr), 1);
+ }
if (VAR_OR_FUNCTION_DECL_P (expr))
bp_pack_var_len_unsigned (bp, DECL_INIT_PRIORITY (expr));
}
@@ -291,7 +297,10 @@ pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
bp_pack_value (bp, TYPE_NO_FORCE_BLK (expr), 1);
bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1);
if (RECORD_OR_UNION_TYPE_P (expr))
- bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1);
+ {
+ bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1);
+ bp_pack_value (bp, TYPE_FINAL_P (expr), 1);
+ }
else if (TREE_CODE (expr) == ARRAY_TYPE)
bp_pack_value (bp, TYPE_NONALIASED_COMPONENT (expr), 1);
bp_pack_value (bp, TYPE_PACKED (expr), 1);