This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r246866 - in /trunk/gcc: ChangeLog alias.c cp/C...
- From: rguenth at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 12 Apr 2017 07:35:49 -0000
- Subject: r246866 - in /trunk/gcc: ChangeLog alias.c cp/C...
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 <rguenther@suse.de>
Bernd Edlinger <bernd.edlinger@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