* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
commit28635c3517c24901bf3c0b886620be5ea8b1d16a
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Jun 2014 23:40:46 +0000 (28 23:40 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Jun 2014 23:40:46 +0000 (28 23:40 +0000)
treef3c4a53238ef28b739928c59842c9abb54cb0f82
parent0b5076024f62168c694b20798946ccba9710873e
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
is complete.
(write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
types; do not stream duplicated fields for variants; sanity check that variant
and type match.
(write_ts_type_non_common_tree_pointers): Likewise.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
type is complete.
(lto_input_ts_type_common_tree_pointers): Do same changes as in
write_ts_type_common_tree_pointers
(lto_input_ts_type_non_common_tree_pointers): Likewise.

* lto.c (lto_copy_fields_not_streamed): New function.
(compare_tree_sccs_1): Do not compare fields shared in between type
and variant.
(lto_read_decls): Fixup types first before inserting into hash.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212114 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/tree-streamer-in.c
gcc/tree-streamer-out.c