aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-diagnostic.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2021-07-14 17:10:49 -0400
committerJason Merrill <jason@redhat.com>2021-07-14 23:18:14 -0400
commit0b7a11874d4eb428c18a91f38786032ce0e77a96 (patch)
tree34b25cf91bee6adb5daf5cb844918e1d9b5be905 /gcc/tree-diagnostic.c
parentc4fee1c646d52a9001a53fa0d4072db86b9be791 (diff)
downloadgcc-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