diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-04-20 11:18:02 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-04-20 11:18:02 +0200 |
commit | 8a59d4660c63665613f17e2b56da6bf5a4c5c214 (patch) | |
tree | 1484e8a152e79fdd86427e4b01e206056ad5c9fa /gcc/tree.h | |
parent | a4bb5c57c9211c7eda33259af525ce5675889842 (diff) | |
download | gcc-8a59d4660c63665613f17e2b56da6bf5a4c5c214.zip gcc-8a59d4660c63665613f17e2b56da6bf5a4c5c214.tar.gz gcc-8a59d4660c63665613f17e2b56da6bf5a4c5c214.tar.bz2 |
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
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -4068,7 +4068,7 @@ extern tree build_truth_vector_type (unsigned, unsigned); extern tree build_same_sized_truth_vector_type (tree vectype); extern tree build_opaque_vector_type (tree innertype, int nunits); extern tree build_index_type (tree); -extern tree build_array_type (tree, tree); +extern tree build_array_type (tree, tree, bool = false); extern tree build_nonshared_array_type (tree, tree); extern tree build_array_type_nelts (tree, unsigned HOST_WIDE_INT); extern tree build_function_type (tree, tree); |