aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-objcp-common.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2019-09-11 11:28:00 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2019-09-11 11:28:00 +0000
commit7994803c00a3aba210f76d3b61c53300c549969d (patch)
tree53238e6ab4a6b07c7a62af42261477fb24818efb /gcc/cp/cp-objcp-common.c
parent5a307ee54bca63865b6e5e8ad690720adf0b9d78 (diff)
downloadgcc-7994803c00a3aba210f76d3b61c53300c549969d.zip
gcc-7994803c00a3aba210f76d3b61c53300c549969d.tar.gz
gcc-7994803c00a3aba210f76d3b61c53300c549969d.tar.bz2
[PATCH] some tree struct marking
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00697.html gcc/ * tree.h (MARK_TS_TYPE_NON_COMMON): New. * tree.c (tree_node_structure_for_code): Reformat and alphabetize. gcc/cp/ * c-objcp-common.c (cp-objcp-common.c): Alphababetize and correctly mark all C++ nodes. From-SVN: r275641
Diffstat (limited to 'gcc/cp/cp-objcp-common.c')
-rw-r--r--gcc/cp/cp-objcp-common.c153
1 files changed, 81 insertions, 72 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c
index 4c95180..4369a5b 100644
--- a/gcc/cp/cp-objcp-common.c
+++ b/gcc/cp/cp-objcp-common.c
@@ -365,104 +365,113 @@ cp_register_dumps (gcc::dump_manager *dumps)
void
cp_common_init_ts (void)
{
- MARK_TS_DECL_NON_COMMON (USING_DECL);
- MARK_TS_DECL_COMMON (TEMPLATE_DECL);
- MARK_TS_DECL_COMMON (WILDCARD_DECL);
+ /* With type. */
+ MARK_TS_TYPED (PTRMEM_CST);
+ MARK_TS_TYPED (LAMBDA_EXPR);
+ MARK_TS_TYPED (TYPE_ARGUMENT_PACK);
- MARK_TS_COMMON (TEMPLATE_TEMPLATE_PARM);
- MARK_TS_COMMON (TEMPLATE_TYPE_PARM);
- MARK_TS_COMMON (TEMPLATE_PARM_INDEX);
+ /* Random new trees. */
+ MARK_TS_COMMON (BASELINK);
+ MARK_TS_COMMON (DECLTYPE_TYPE);
MARK_TS_COMMON (OVERLOAD);
+ MARK_TS_COMMON (TEMPLATE_PARM_INDEX);
MARK_TS_COMMON (TYPENAME_TYPE);
MARK_TS_COMMON (TYPEOF_TYPE);
- MARK_TS_COMMON (UNDERLYING_TYPE);
- MARK_TS_COMMON (BASELINK);
- MARK_TS_COMMON (TYPE_PACK_EXPANSION);
- MARK_TS_COMMON (TYPE_ARGUMENT_PACK);
- MARK_TS_COMMON (DECLTYPE_TYPE);
- MARK_TS_COMMON (BOUND_TEMPLATE_TEMPLATE_PARM);
MARK_TS_COMMON (UNBOUND_CLASS_TEMPLATE);
+ MARK_TS_COMMON (UNDERLYING_TYPE);
- MARK_TS_TYPED (SWITCH_STMT);
- MARK_TS_TYPED (IF_STMT);
- MARK_TS_TYPED (FOR_STMT);
- MARK_TS_TYPED (RANGE_FOR_STMT);
- MARK_TS_TYPED (EH_SPEC_BLOCK);
- MARK_TS_TYPED (CLEANUP_STMT);
- MARK_TS_TYPED (SCOPE_REF);
- MARK_TS_TYPED (TRY_BLOCK);
- MARK_TS_TYPED (HANDLER);
- MARK_TS_TYPED (TYPE_ARGUMENT_PACK);
- MARK_TS_TYPED (NOEXCEPT_EXPR);
- MARK_TS_TYPED (WHILE_STMT);
- MARK_TS_TYPED (BREAK_STMT);
- MARK_TS_TYPED (DO_STMT);
- MARK_TS_TYPED (CONTINUE_STMT);
- MARK_TS_TYPED (PTRMEM_CST);
- MARK_TS_TYPED (USING_STMT);
- MARK_TS_TYPED (OMP_DEPOBJ);
+ /* New decls. */
+ MARK_TS_DECL_COMMON (TEMPLATE_DECL);
+ MARK_TS_DECL_COMMON (WILDCARD_DECL);
+
+ MARK_TS_DECL_NON_COMMON (USING_DECL);
+ /* New Types. */
+ MARK_TS_TYPE_NON_COMMON (BOUND_TEMPLATE_TEMPLATE_PARM);
+ MARK_TS_TYPE_NON_COMMON (TEMPLATE_TEMPLATE_PARM);
+ MARK_TS_TYPE_NON_COMMON (TEMPLATE_TYPE_PARM);
+ MARK_TS_TYPE_NON_COMMON (TYPE_ARGUMENT_PACK);
+ MARK_TS_TYPE_NON_COMMON (TYPE_PACK_EXPANSION);
+
+ /* Statements. */
+ MARK_TS_EXP (BREAK_STMT);
+ MARK_TS_EXP (CLEANUP_STMT);
+ MARK_TS_EXP (CONTINUE_STMT);
+ MARK_TS_EXP (DO_STMT);
+ MARK_TS_EXP (EH_SPEC_BLOCK);
+ MARK_TS_EXP (FOR_STMT);
+ MARK_TS_EXP (HANDLER);
+ MARK_TS_EXP (IF_STMT);
+ MARK_TS_EXP (OMP_DEPOBJ);
+ MARK_TS_EXP (RANGE_FOR_STMT);
+ MARK_TS_EXP (SWITCH_STMT);
+ MARK_TS_EXP (TRY_BLOCK);
+ MARK_TS_EXP (USING_STMT);
+ MARK_TS_EXP (WHILE_STMT);
+
+ /* Random expressions. */
+ MARK_TS_EXP (ADDRESSOF_EXPR);
MARK_TS_EXP (AGGR_INIT_EXPR);
+ MARK_TS_EXP (ALIGNOF_EXPR);
+ MARK_TS_EXP (ARROW_EXPR);
+ MARK_TS_EXP (AT_ENCODE_EXPR);
+ MARK_TS_EXP (CAST_EXPR);
+ MARK_TS_EXP (CONST_CAST_EXPR);
MARK_TS_EXP (CTOR_INITIALIZER);
- MARK_TS_EXP (EXPR_STMT);
- MARK_TS_EXP (TAG_DEFN);
+ MARK_TS_EXP (DELETE_EXPR);
+ MARK_TS_EXP (DOTSTAR_EXPR);
+ MARK_TS_EXP (DYNAMIC_CAST_EXPR);
MARK_TS_EXP (EMPTY_CLASS_EXPR);
+ MARK_TS_EXP (EXPR_STMT);
+ MARK_TS_EXP (IMPLICIT_CONV_EXPR);
+ MARK_TS_EXP (MEMBER_REF);
MARK_TS_EXP (MODOP_EXPR);
- MARK_TS_EXP (THROW_EXPR);
- MARK_TS_EXP (CAST_EXPR);
- MARK_TS_EXP (TYPE_EXPR);
+ MARK_TS_EXP (MUST_NOT_THROW_EXPR);
+ MARK_TS_EXP (NEW_EXPR);
+ MARK_TS_EXP (NOEXCEPT_EXPR);
+ MARK_TS_EXP (NON_DEPENDENT_EXPR);
+ MARK_TS_EXP (OFFSETOF_EXPR);
+ MARK_TS_EXP (OFFSET_REF);
+ MARK_TS_EXP (PSEUDO_DTOR_EXPR);
MARK_TS_EXP (REINTERPRET_CAST_EXPR);
- MARK_TS_EXP (CONST_CAST_EXPR);
+ MARK_TS_EXP (SCOPE_REF);
MARK_TS_EXP (STATIC_CAST_EXPR);
- MARK_TS_EXP (DYNAMIC_CAST_EXPR);
- MARK_TS_EXP (IMPLICIT_CONV_EXPR);
+ MARK_TS_EXP (STMT_EXPR);
+ MARK_TS_EXP (TAG_DEFN);
MARK_TS_EXP (TEMPLATE_ID_EXPR);
- MARK_TS_EXP (ARROW_EXPR);
- MARK_TS_EXP (UNARY_PLUS_EXPR);
+ MARK_TS_EXP (THROW_EXPR);
MARK_TS_EXP (TRAIT_EXPR);
-
- MARK_TS_EXP (NON_DEPENDENT_EXPR);
- MARK_TS_EXP (NEW_EXPR);
- MARK_TS_EXP (VEC_NEW_EXPR);
- MARK_TS_EXP (MEMBER_REF);
- MARK_TS_EXP (DOTSTAR_EXPR);
- MARK_TS_EXP (DELETE_EXPR);
- MARK_TS_EXP (VEC_DELETE_EXPR);
- MARK_TS_EXP (PSEUDO_DTOR_EXPR);
MARK_TS_EXP (TYPEID_EXPR);
- MARK_TS_EXP (MUST_NOT_THROW_EXPR);
- MARK_TS_EXP (STMT_EXPR);
- MARK_TS_EXP (OFFSET_REF);
- MARK_TS_EXP (OFFSETOF_EXPR);
- MARK_TS_EXP (ADDRESSOF_EXPR);
+ MARK_TS_EXP (TYPE_EXPR);
+ MARK_TS_EXP (UNARY_PLUS_EXPR);
+ MARK_TS_EXP (VEC_DELETE_EXPR);
MARK_TS_EXP (VEC_INIT_EXPR);
- MARK_TS_EXP (LAMBDA_EXPR);
-
- MARK_TS_EXP (ALIGNOF_EXPR);
- MARK_TS_EXP (AT_ENCODE_EXPR);
+ MARK_TS_EXP (VEC_NEW_EXPR);
- MARK_TS_EXP (NONTYPE_ARGUMENT_PACK);
+ /* Fold expressions. */
+ MARK_TS_EXP (BINARY_LEFT_FOLD_EXPR);
+ MARK_TS_EXP (BINARY_RIGHT_FOLD_EXPR);
MARK_TS_EXP (EXPR_PACK_EXPANSION);
+ MARK_TS_EXP (NONTYPE_ARGUMENT_PACK);
MARK_TS_EXP (UNARY_LEFT_FOLD_EXPR);
MARK_TS_EXP (UNARY_RIGHT_FOLD_EXPR);
- MARK_TS_EXP (BINARY_LEFT_FOLD_EXPR);
- MARK_TS_EXP (BINARY_RIGHT_FOLD_EXPR);
- MARK_TS_EXP (REQUIRES_EXPR);
- MARK_TS_EXP (SIMPLE_REQ);
- MARK_TS_EXP (TYPE_REQ);
- MARK_TS_EXP (COMPOUND_REQ);
- MARK_TS_EXP (NESTED_REQ);
- MARK_TS_EXP (PRED_CONSTR);
+ /* Constraints. */
MARK_TS_EXP (CHECK_CONSTR);
- MARK_TS_EXP (EXPR_CONSTR);
- MARK_TS_EXP (TYPE_CONSTR);
- MARK_TS_EXP (ICONV_CONSTR);
+ MARK_TS_EXP (COMPOUND_REQ);
+ MARK_TS_EXP (CONJ_CONSTR);
MARK_TS_EXP (DEDUCT_CONSTR);
+ MARK_TS_EXP (DISJ_CONSTR);
MARK_TS_EXP (EXCEPT_CONSTR);
+ MARK_TS_EXP (EXPR_CONSTR);
+ MARK_TS_EXP (ICONV_CONSTR);
+ MARK_TS_EXP (NESTED_REQ);
MARK_TS_EXP (PARM_CONSTR);
- MARK_TS_EXP (CONJ_CONSTR);
- MARK_TS_EXP (DISJ_CONSTR);
+ MARK_TS_EXP (PRED_CONSTR);
+ MARK_TS_EXP (REQUIRES_EXPR);
+ MARK_TS_EXP (SIMPLE_REQ);
+ MARK_TS_EXP (TYPE_CONSTR);
+ MARK_TS_EXP (TYPE_REQ);
c_common_init_ts ();
}