diff options
author | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-13 03:09:53 +0000 |
---|---|---|
committer | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-13 03:09:53 +0000 |
commit | 9b88d08d3ad00c838a22d832ff570e96f082f330 (patch) | |
tree | e87a035b675d12c1d257fa48efa286338bd704e1 /gcc/cp/cp-objcp-common.c | |
parent | f38f6156a2855580296ed47672eca425f3e45f6a (diff) | |
download | gcc-9b88d08d3ad00c838a22d832ff570e96f082f330.tar.gz |
gcc/ada/
* gcc-interface/ada-tree.h (union lang_tree_node): Check for
TS_COMMON before calling TREE_CHAIN.
* gcc-interface/misc.c (gnat_init_ts): New function.
(LANG_HOOKS_INIT_TS): Define.
gcc/
* c-decl.c (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
* print-tree.c (print_node): Likewise.
* tree-inline.c (copy_tree_r): Likewise.
* c-lang.c (LANG_HOOKS_INIT_TS): Define.
* lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
instead of TS_COMMON.
* lto-streamer-out.c (lto_output_tree_pointers): Likewise.
* tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
(copy_node_stat): Zero TREE_CHAIN only if necessary.
(MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
(MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
...and these...
(MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
* tree.h: ...here.
(TREE_CHAIN): Check for a TS_COMMON structure.
(TREE_TYPE): Check for a TS_TYPED structure.
gcc/c-family/
* c-common.h (c_common_init_ts): Declare.
* c-common.c (c_common_init_ts): Define.
gcc/cp/
* cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move
tree_contains_struct initialization to...
* cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_*
macros.
* cp-objcp-common.h (cp_common_init_ts): Declare.
* cp-tree.h (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/fortran/
* f95-lang.c (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/go/
* go-lang.c (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/java/
* java-tree.h (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/lto/
* lto-tree.h (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
* lto.c (lto_fixup_common): Likewise.
gcc/objc/
* objc-lang.c (objc_init_ts): Move code for this function...
* objc-act.c (objc_common_init_ts): ...here. Define.
* objc-act.h (objc_common_init_ts): Declare.
gcc/objcp/
* objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
cp_common_init_ts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172359 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-objcp-common.c')
-rw-r--r-- | gcc/cp/cp-objcp-common.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index 6e042694a87..6a7f4008266 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -224,5 +224,78 @@ init_shadowed_var_for_decl (void) tree_decl_map_eq, 0); } +void +cp_common_init_ts (void) +{ + MARK_TS_DECL_NON_COMMON (NAMESPACE_DECL); + MARK_TS_DECL_NON_COMMON (USING_DECL); + MARK_TS_DECL_NON_COMMON (TEMPLATE_DECL); + + MARK_TS_COMMON (TEMPLATE_TEMPLATE_PARM); + MARK_TS_COMMON (TEMPLATE_TYPE_PARM); + MARK_TS_COMMON (TEMPLATE_PARM_INDEX); + MARK_TS_COMMON (OVERLOAD); + MARK_TS_COMMON (TEMPLATE_INFO); + MARK_TS_COMMON (FOR_STMT); + MARK_TS_COMMON (TYPENAME_TYPE); + MARK_TS_COMMON (TYPEOF_TYPE); + MARK_TS_COMMON (IF_STMT); + MARK_TS_COMMON (BASELINK); + MARK_TS_COMMON (SWITCH_STMT); + MARK_TS_COMMON (TYPE_PACK_EXPANSION); + MARK_TS_COMMON (EXPR_PACK_EXPANSION); + MARK_TS_COMMON (DECLTYPE_TYPE); + MARK_TS_COMMON (BOUND_TEMPLATE_TEMPLATE_PARM); + MARK_TS_COMMON (UNBOUND_CLASS_TEMPLATE); + MARK_TS_COMMON (RANGE_FOR_STMT); + + MARK_TS_TYPED (AGGR_INIT_EXPR); + MARK_TS_TYPED (EXPR_STMT); + MARK_TS_TYPED (EH_SPEC_BLOCK); + MARK_TS_TYPED (CLEANUP_STMT); + MARK_TS_TYPED (SCOPE_REF); + MARK_TS_TYPED (CAST_EXPR); + MARK_TS_TYPED (NON_DEPENDENT_EXPR); + MARK_TS_TYPED (MODOP_EXPR); + MARK_TS_TYPED (TRY_BLOCK); + MARK_TS_TYPED (THROW_EXPR); + MARK_TS_TYPED (HANDLER); + MARK_TS_TYPED (REINTERPRET_CAST_EXPR); + MARK_TS_TYPED (CONST_CAST_EXPR); + MARK_TS_TYPED (STATIC_CAST_EXPR); + MARK_TS_TYPED (DYNAMIC_CAST_EXPR); + MARK_TS_TYPED (TEMPLATE_ID_EXPR); + MARK_TS_TYPED (ARROW_EXPR); + MARK_TS_TYPED (SIZEOF_EXPR); + MARK_TS_TYPED (ALIGNOF_EXPR); + MARK_TS_TYPED (AT_ENCODE_EXPR); + MARK_TS_TYPED (UNARY_PLUS_EXPR); + MARK_TS_TYPED (TRAIT_EXPR); + MARK_TS_TYPED (TYPE_ARGUMENT_PACK); + MARK_TS_TYPED (NOEXCEPT_EXPR); + MARK_TS_TYPED (NONTYPE_ARGUMENT_PACK); + MARK_TS_TYPED (WHILE_STMT); + MARK_TS_TYPED (NEW_EXPR); + MARK_TS_TYPED (VEC_NEW_EXPR); + MARK_TS_TYPED (BREAK_STMT); + MARK_TS_TYPED (MEMBER_REF); + MARK_TS_TYPED (DOTSTAR_EXPR); + MARK_TS_TYPED (DO_STMT); + MARK_TS_TYPED (DELETE_EXPR); + MARK_TS_TYPED (VEC_DELETE_EXPR); + MARK_TS_TYPED (CONTINUE_STMT); + MARK_TS_TYPED (TAG_DEFN); + MARK_TS_TYPED (PSEUDO_DTOR_EXPR); + MARK_TS_TYPED (TYPEID_EXPR); + MARK_TS_TYPED (MUST_NOT_THROW_EXPR); + MARK_TS_TYPED (STMT_EXPR); + MARK_TS_TYPED (OFFSET_REF); + MARK_TS_TYPED (OFFSETOF_EXPR); + MARK_TS_TYPED (PTRMEM_CST); + MARK_TS_TYPED (EMPTY_CLASS_EXPR); + MARK_TS_TYPED (VEC_INIT_EXPR); + MARK_TS_TYPED (USING_STMT); + MARK_TS_TYPED (LAMBDA_EXPR); +} #include "gt-cp-cp-objcp-common.h" |