]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.
authorJan Hubicka <hubicka@ucw.cz>
Sat, 28 Jun 2014 23:40:46 +0000 (01:40 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sat, 28 Jun 2014 23:40:46 +0000 (23:40 +0000)
commit288eeff72bf7d7e89d975629a7aab8955b9abdad
treef3c4a53238ef28b739928c59842c9abb54cb0f82
parentd0bd8245b26cd1e6e6540e5f0697c96703707c02
tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.

* 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.

From-SVN: r212114
gcc/ChangeLog
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/tree-streamer-in.c
gcc/tree-streamer-out.c