re PR middle-end/80423 (GC related -fcompare-debug failure)
authorJakub Jelinek <jakub@redhat.com>
Thu, 20 Apr 2017 09:18:02 +0000 (11:18 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 20 Apr 2017 09:18:02 +0000 (11:18 +0200)
commit8a59d4660c63665613f17e2b56da6bf5a4c5c214
tree1484e8a152e79fdd86427e4b01e206056ad5c9fa
parenta4bb5c57c9211c7eda33259af525ce5675889842
re PR middle-end/80423 (GC related -fcompare-debug failure)

PR middle-end/80423
* tree.h (build_array_type): Add typeless_storage default argument.
* tree.c (type_cache_hasher::equal): Also compare
TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
(build_array_type): Add typeless_storage argument, set
TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
recursive call.
(build_nonshared_array_type): Adjust build_array_type_1 caller.
(build_array_type): Likewise.  Add typeless_storage argument.
c-family/
* c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
cp/
* tree.c (build_cplus_array_type): Call build_array_type
with the intended TYPE_TYPELESS_STORAGE flag value, instead
of calling build_array_type and modifying later TYPE_TYPELESS_STORAGE
on the shared type.
testsuite/
* g++.dg/other/pr80423.C: New test.

From-SVN: r247014
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/cp/ChangeLog
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/pr80423.C [new file with mode: 0644]
gcc/tree.c
gcc/tree.h