aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-iterate.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-05-27 15:21:17 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-05-27 11:21:17 -0400
commit8d5e6e2527f07e6cfda3b62f1fd826006931d551 (patch)
treee4055b6cf63a0bcf4381fb7092adf5db521626a7 /gcc/c-iterate.c
parent0777f60c79e32b504c03b6a703d6833ca6bc91c5 (diff)
downloadgcc-8d5e6e2527f07e6cfda3b62f1fd826006931d551.zip
gcc-8d5e6e2527f07e6cfda3b62f1fd826006931d551.tar.gz
gcc-8d5e6e2527f07e6cfda3b62f1fd826006931d551.tar.bz2
tree.h (TREE_CODE_LENGTH): New macro.
* tree.h (TREE_CODE_LENGTH): New macro. * c-common.c (c_find_base_decl): Use it. * expr.c (safe_from_p): Likewise. * print-tree.c (print_node): Likewise. * tree.c (make_node, copy_node, get_identifier): Likewie. (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise. (build, build_nt, build_parse_node, simple_cst_equal): Likewise. * fold-const.c (make_range): Likewise. (fold): Likewise; also use first_rtl_op. * c-iterate.c (collect_iterators): Use first_rtl_op. * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS. Use IS_EXPR_CODE_CLASS. (preexpand_calls): Likewise. * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op and TREE_CODE_LENGTH. * stmt.c (warn_if_unused_value): If no operands, no unused value. * ch/lang.c (deep_const_expr): Use first_rtl_op. * ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH. * cp/method.c (mangle_expression): Use TREE_CODE_LENGTH. * cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH. (built_min, cp_tree_equal): Likewise. From-SVN: r34203
Diffstat (limited to 'gcc/c-iterate.c')
-rw-r--r--gcc/c-iterate.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/gcc/c-iterate.c b/gcc/c-iterate.c
index 1692d2a..0e545d8 100644
--- a/gcc/c-iterate.c
+++ b/gcc/c-iterate.c
@@ -241,27 +241,9 @@ collect_iterators (exp, list)
case 'e':
case 'r':
{
- int num_args = tree_code_length[(int) TREE_CODE (exp)];
+ int num_args = first_rtl_op (TREE_CODE (exp));
int i;
- /* Some tree codes have RTL, not trees, as operands. */
- switch (TREE_CODE (exp))
- {
- case CALL_EXPR:
- num_args = 2;
- break;
- case METHOD_CALL_EXPR:
- num_args = 3;
- break;
- case WITH_CLEANUP_EXPR:
- num_args = 1;
- break;
- case RTL_EXPR:
- return list;
- default:
- break;
- }
-
for (i = 0; i < num_args; i++)
list = collect_iterators (TREE_OPERAND (exp, i), list);
return list;