Lewis' r15-5067 fixing the marking of TRAIT_EXPR led me to compare some
other front-end type definitions to their marking in cp_common_init_ts; it
seems we can change tree_common to something smaller in several cases, to
match how they are marked.
gcc/cp/ChangeLog:
* cp-tree.h (struct ptrmem_cst): Change tree_common to tree_typed.
(struct tree_trait_expr): Likewise.
(struct tree_static_assert): Change tree_common to tree_base.
(struct tree_argument_pack_select): Likewise.
};
struct GTY(()) ptrmem_cst {
- struct tree_common common;
+ struct tree_typed typed;
tree member;
location_t locus;
};
(((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->location)
struct GTY (()) tree_static_assert {
- struct tree_common common;
+ struct tree_base base;
tree condition;
tree message;
location_t location;
};
struct GTY (()) tree_argument_pack_select {
- struct tree_common common;
+ struct tree_base base;
tree argument_pack;
int index;
};
(((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->locus)
struct GTY (()) tree_trait_expr {
- struct tree_common common;
+ struct tree_typed typed;
tree type1;
tree type2;
location_t locus;