diff options
Diffstat (limited to 'gcc/print-tree.c')
-rw-r--r-- | gcc/print-tree.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c index d1150e4..17c88f8 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -742,20 +742,26 @@ print_node (FILE *file, const char *prefix, tree node, int indent, } if (code == CALL_EXPR) { - call_expr_arg_iterator iter; - tree arg; print_node (file, "fn", CALL_EXPR_FN (node), indent + 4); print_node (file, "static_chain", CALL_EXPR_STATIC_CHAIN (node), indent + 4); - i = 0; - FOR_EACH_CALL_EXPR_ARG (arg, iter, node) + + call_expr_arg_iterator iter; + init_call_expr_arg_iterator (node, &iter); + while (more_call_expr_args_p (&iter)) { /* Buffer big enough to format a 32-bit UINT_MAX into, plus the text. */ char temp[15]; - sprintf (temp, "arg:%u", i); - print_node (file, temp, arg, indent + 4); - i++; + sprintf (temp, "arg:%u", iter.i); + tree arg = next_call_expr_arg (&iter); + if (arg) + print_node (file, temp, arg, indent + 4); + else + { + indent_to (file, indent + 4); + fprintf (file, "%s NULL", temp); + } } } else @@ -1046,7 +1052,7 @@ print_decl_identifier (FILE *file, tree decl, int flags) if (flags & PRINT_DECL_ORIGIN) { - if (DECL_IS_BUILTIN (decl)) + if (DECL_IS_UNDECLARED_BUILTIN (decl)) fputs ("<built-in>", file); else { |