diff options
author | Nathan Sidwell <nathan@acm.org> | 2019-09-11 11:28:00 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2019-09-11 11:28:00 +0000 |
commit | 7994803c00a3aba210f76d3b61c53300c549969d (patch) | |
tree | 53238e6ab4a6b07c7a62af42261477fb24818efb /gcc/cp/cp-objcp-common.c | |
parent | 5a307ee54bca63865b6e5e8ad690720adf0b9d78 (diff) | |
download | gcc-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.c | 153 |
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 (); } |