https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #103 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Wed Apr 12 07:35:49 2017 New Revision: 246866 URL: https://gcc.gnu.org/viewcvs?rev=246866&root=gcc&view=rev Log: 2017-04-12 Richard Biener <rguent...@suse.de> Bernd Edlinger <bernd.edlin...@hotmail.de> PR middle-end/79671 * alias.c (component_uses_parent_alias_set_from): Handle TYPE_TYPELESS_STORAGE. (get_alias_set): Likewise. * tree-core.h (tree_type_common): Add typeless_storage flag. * tree.h (TYPE_TYPELESS_STORAGE): New macro. * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE for types containing members with TYPE_TYPELESS_STORAGE. (place_field): Likewise. (layout_type): Likewise for ARRAY_TYPE. * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE. * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream TYPE_TYPELESS_STORAGE. * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. lto/ * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE. cp/ * tree.c (build_cplus_array_type): Set TYPE_TYPELESS_STORAGE for arrays of character or std::byte type. * g++.dg/torture/pr79671.C: New testcase. * g++.dg/lto/pr79671_0.C: Likewise. * g++.dg/lto/pr79671_1.c: Likewise. Added: trunk/gcc/testsuite/g++.dg/lto/pr79671_0.C trunk/gcc/testsuite/g++.dg/lto/pr79671_1.c trunk/gcc/testsuite/g++.dg/torture/pr79671.C Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/tree.c trunk/gcc/lto-streamer-out.c trunk/gcc/lto/ChangeLog trunk/gcc/lto/lto.c trunk/gcc/stor-layout.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-core.h trunk/gcc/tree-streamer-in.c trunk/gcc/tree-streamer-out.c trunk/gcc/tree.h