diff options
author | Jason Merrill <jason@redhat.com> | 2021-07-14 17:10:49 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2021-07-14 23:18:14 -0400 |
commit | 0b7a11874d4eb428c18a91f38786032ce0e77a96 (patch) | |
tree | 34b25cf91bee6adb5daf5cb844918e1d9b5be905 /gcc/tree-diagnostic.c | |
parent | c4fee1c646d52a9001a53fa0d4072db86b9be791 (diff) | |
download | gcc-0b7a11874d4eb428c18a91f38786032ce0e77a96.zip gcc-0b7a11874d4eb428c18a91f38786032ce0e77a96.tar.gz gcc-0b7a11874d4eb428c18a91f38786032ce0e77a96.tar.bz2 |
c++: fix tree_contains_struct for C++ types [PR101095]
Many of the types from cp-tree.def were only marked as having tree_common,
when actually most of them have type_non_common. This broke
g++.dg/modules/xtreme-header-2, as the modules code relies on
tree_contains_struct to know what bits it needs to stream.
We don't seem to use type_non_common for TYPE_ARGUMENT_PACK, so I bumped it
down to TS_TYPE_COMMON. I tried doing the same in cp_tree_size, but that
breaks without more extensive changes to tree_node_structure.
Why do we need the init_ts function anyway? It seems redundant with
tree_node_structure.
PR c++/101095
gcc/cp/ChangeLog:
* cp-objcp-common.c (cp_common_init_ts): Mark types as types.
(cp_tree_size): Remove redundant entries.
Diffstat (limited to 'gcc/tree-diagnostic.c')
0 files changed, 0 insertions, 0 deletions