diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-26 21:11:23 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-26 21:11:23 +0000 |
commit | 7dd3724184cd6a9e911c4112d0942729405d0a5d (patch) | |
tree | ec365de72a39a5ef2d0a252b8496e9199f69fb3d /gcc/cp/tree.c | |
parent | 6b87a81c933c4fc156e9ea1c79d5dad399caef1f (diff) | |
download | gcc-7dd3724184cd6a9e911c4112d0942729405d0a5d.tar.gz |
2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
* c-common.def (DECL_STMT): Remove.
* c-common.h (DECL_STMT_DECL): Deleted.
(COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
(c_safe_from_p, c_walk_subtrees): Deleted.
* c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
* c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
* c-gimplify.c (gimplify_decl_stmt): Deleted.
(gimplify_compound_literal_expr): Use DECL_EXPR_DECL
and gimplify_and_add.
(c_gimplify_expr, case DECL_EXPR): New case.
(c_gimplify_expr, case DECL_STMT): Deleted.
* c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
* expr.c (safe_from_p, case 's'): New case.
* gimplify.c (gimplify_decl_expr): New function.
(gimplify_expr, case DECL_EXPR): New case.
* tree-inline.c (walk_tree): Walk into all fields of a type and
decl only if they are in a DECL_EXPR.
(mark_local_for_remap_r): Minor code cleanup.
* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
* tree.c (has_cleanups, case DECL_EXPR): New case.
* tree.def (DECL_EXPR): New code.
* tree.h (DECL_EXPR_DECL): New macro.
* objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83721 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r-- | gcc/cp/tree.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 527e9c27d50..4ae07798dee 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1962,14 +1962,11 @@ cp_build_type_attribute_variant (tree type, tree attributes) } /* Apply FUNC to all language-specific sub-trees of TP in a pre-order - traversal. Called from walk_tree(). */ + traversal. Called from walk_tree. */ tree -cp_walk_subtrees (tree* tp, - int* walk_subtrees_p, - walk_tree_fn func, - void* data, - void* htab) +cp_walk_subtrees (tree *tp, int *walk_subtrees_p, walk_tree_fn func, + void *data, void *htab) { enum tree_code code = TREE_CODE (*tp); location_t save_locus; @@ -2030,7 +2027,7 @@ cp_walk_subtrees (tree* tp, default: input_location = save_locus; - return c_walk_subtrees (tp, walk_subtrees_p, func, data, htab); + return NULL_TREE; } /* We didn't find what we were looking for. */ @@ -2201,7 +2198,7 @@ init_tree (void) list_hash_table = htab_create_ggc (31, list_hash, list_hash_eq, NULL); } -/* Called via walk_tree. If *TP points to a DECL_STMT for a local +/* Called via walk_tree. If *TP points to a DECL_EXPR for a local declaration, copies the declaration and enters it in the splay_tree pointed to by DATA (which is really a `splay_tree *'). */ @@ -2215,9 +2212,9 @@ mark_local_for_remap_r (tree* tp, tree decl; - if (TREE_CODE (t) == DECL_STMT - && nonstatic_local_decl_p (DECL_STMT_DECL (t))) - decl = DECL_STMT_DECL (t); + if (TREE_CODE (t) == DECL_EXPR + && nonstatic_local_decl_p (DECL_EXPR_DECL (t))) + decl = DECL_EXPR_DECL (t); else if (TREE_CODE (t) == LABEL_EXPR) decl = LABEL_EXPR_LABEL (t); else if (TREE_CODE (t) == TARGET_EXPR |