diff options
Diffstat (limited to 'gcc/tree-iterator.c')
-rw-r--r-- | gcc/tree-iterator.c | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/gcc/tree-iterator.c b/gcc/tree-iterator.c index 53495ebae2a..43218f6b754 100644 --- a/gcc/tree-iterator.c +++ b/gcc/tree-iterator.c @@ -238,64 +238,6 @@ tsi_delink (tree_stmt_iterator *i) i->ptr = next; } -/* Move all statements in the statement list after I to a new - statement list. I itself is unchanged. */ - -tree -tsi_split_statement_list_after (const tree_stmt_iterator *i) -{ - struct tree_statement_list_node *cur, *next; - tree old_sl, new_sl; - - cur = i->ptr; - /* How can we possibly split after the end, or before the beginning? */ - gcc_assert (cur); - next = cur->next; - - old_sl = i->container; - new_sl = alloc_stmt_list (); - TREE_SIDE_EFFECTS (new_sl) = 1; - - STATEMENT_LIST_HEAD (new_sl) = next; - STATEMENT_LIST_TAIL (new_sl) = STATEMENT_LIST_TAIL (old_sl); - STATEMENT_LIST_TAIL (old_sl) = cur; - cur->next = NULL; - next->prev = NULL; - - return new_sl; -} - -/* Move all statements in the statement list before I to a new - statement list. I is set to the head of the new list. */ - -tree -tsi_split_statement_list_before (tree_stmt_iterator *i) -{ - struct tree_statement_list_node *cur, *prev; - tree old_sl, new_sl; - - cur = i->ptr; - /* How can we possibly split after the end, or before the beginning? */ - gcc_assert (cur); - prev = cur->prev; - - old_sl = i->container; - new_sl = alloc_stmt_list (); - TREE_SIDE_EFFECTS (new_sl) = 1; - i->container = new_sl; - - STATEMENT_LIST_HEAD (new_sl) = cur; - STATEMENT_LIST_TAIL (new_sl) = STATEMENT_LIST_TAIL (old_sl); - STATEMENT_LIST_TAIL (old_sl) = prev; - cur->prev = NULL; - if (prev) - prev->next = NULL; - else - STATEMENT_LIST_HEAD (old_sl) = NULL; - - return new_sl; -} - /* Return the first expression in a sequence of COMPOUND_EXPRs, or in a STATEMENT_LIST. */ @@ -320,19 +262,6 @@ expr_first (tree expr) /* Return the last expression in a sequence of COMPOUND_EXPRs, or in a STATEMENT_LIST. */ -#define EXPR_LAST_BODY do { \ - if (expr == NULL_TREE) \ - return expr;\ - if (TREE_CODE (expr) == STATEMENT_LIST) \ - { \ - struct tree_statement_list_node *n = STATEMENT_LIST_TAIL (expr); \ - return n ? n->stmt : NULL_TREE; \ - } \ - while (TREE_CODE (expr) == COMPOUND_EXPR) \ - expr = TREE_OPERAND (expr, 1); \ - return expr; \ -} while (0) - tree expr_last (tree expr) { @@ -351,29 +280,4 @@ expr_last (tree expr) return expr; } -/* If EXPR is a single statement return it. If EXPR is a - STATEMENT_LIST containing exactly one statement S, return S. - Otherwise, return NULL. */ - -tree -expr_only (tree expr) -{ - if (expr == NULL_TREE) - return NULL_TREE; - - if (TREE_CODE (expr) == STATEMENT_LIST) - { - struct tree_statement_list_node *n = STATEMENT_LIST_TAIL (expr); - if (n && STATEMENT_LIST_HEAD (expr) == n) - return n->stmt; - else - return NULL_TREE; - } - - if (TREE_CODE (expr) == COMPOUND_EXPR) - return NULL_TREE; - - return expr; -} - #include "gt-tree-iterator.h" |