summaryrefslogtreecommitdiff
path: root/gcc/c-pretty-print.c
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-09 03:18:18 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-09 03:18:18 +0000
commite7911019b785da4b45f6ed37b7b03227afa38661 (patch)
tree54b12532b3129c3528d3e2a058b89210eef0f85b /gcc/c-pretty-print.c
parent88dbf20f7cbfc296419f03e500ea15fd2161ded7 (diff)
downloadgcc-e7911019b785da4b45f6ed37b7b03227afa38661.tar.gz
./
* c-common.def: Move FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT to cp/cp-tree.def. * c-common.h (WHILE_COND, WHILE_BODY): Move to cp/cp-tree.h. (DO_COND, DO_BODY): Likewise. (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Likewise. (SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Likewise. (c_common_stmt_codes): Remove FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT. (build_continue_stmt, build_break_stmt): Don't declare. (c_do_switch_warnings): Update declaration. * c-gimplify.c (enum bc_t): Remove. (struct c_gimplify_ctx, ctxp): Remove. (push_context, pop_context): Remove static functions. (c_genericize): Don't call push_context or pop_context. (begin_bc_block, finish_bc_block): Remove static functions. (build_bc_goto): Likewise. (gimplify_c_loop): Likewise. (gimplify_for_stmt, gimplify_while_stmt): Likewise. (gimplify_do_stmt, gimplify_switch_stmt): Likewise. (c_gimplify_expr): Remove handling of FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT. * c-common.c (c_do_switch_warnings): Rename from c_do_switch_warnings_1. (c_do_switch_warnings) [old version]: Remove. (c_do_switch_expr_warnings): Remove. * c-typeck.c (c_finish_case): Call new c_do_switch_warnings function instead of c_do_switch_expr_warnings. * c-dump.c (c_dump_tree): Remove handling of BREAK_STMT, CONTINUE_STMT, DO_STMT, FOR_STMT, SWITCH_STMT, and WHILE_STMT. * c-pretty-print.c (pp_c_statement): Likewise. * c-semantics.c (build_break_stmt, build_continue_stmt): Remove. cp/ * cp-tree.def: Define FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT. * cp-tree.h (cp_stmt_codes): Add FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT. (WHILE_COND, WHILE_BODY): Define. (DO_COND, DO_BODY): Define. (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Define. (SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Define. * cp-gimplify.c (enum bc_t): Define. (struct cp_gimplify_ctx, ctxp): Define. (push_context, pop_context): New static functions. (begin_bc_block, finish_bc_block): New static functions. (build_bc_goto): New static function. (gimplify_cp_loop, gimplify_for_stmt): New static functions. (gimplify_while_stmt, gimplify_do_stmt): Likewise. (gimplify_switch_stmt): Likewise. (cp_gimplify_expr): Handle FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT. (cp_genericize): Call push_context and pop_context. * semantics.c (finish_break_stmt): Just call build_stmt (BREAK_STMT) rather than build_break_stmt. (finish_continue_stmt): Corresponding change. * decl.c (pop_switch): Update call to c_do_switch_warnings for new parameters. * cxx-pretty-print.c (pp_cxx_statement): Handle SWITCH_STMT, WHILE_STMT, DO_STMT, FOR_STMT, BREAK_STMT, CONTINUE_STMT. * dump.c (cp_dump_tree): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97885 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-pretty-print.c')
-rw-r--r--gcc/c-pretty-print.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c
index 2176e34850b..21af965b138 100644
--- a/gcc/c-pretty-print.c
+++ b/gcc/c-pretty-print.c
@@ -1965,84 +1965,6 @@ pp_c_statement (c_pretty_printer *pp, tree stmt)
pp_needs_newline (pp) = true;
break;
- case SWITCH_STMT:
- pp_c_identifier (pp, "switch");
- pp_space (pp);
- pp_c_left_paren (pp);
- pp_expression (pp, SWITCH_COND (stmt));
- pp_c_right_paren (pp);
- pp_indentation (pp) += 3;
- pp_needs_newline (pp) = true;
- pp_statement (pp, SWITCH_BODY (stmt));
- pp_newline_and_indent (pp, -3);
- break;
-
- /* iteration-statement:
- while ( expression ) statement
- do statement while ( expression ) ;
- for ( expression(opt) ; expression(opt) ; expression(opt) ) statement
- for ( declaration expression(opt) ; expression(opt) ) statement */
- case WHILE_STMT:
- pp_c_identifier (pp, "while");
- pp_space (pp);
- pp_c_left_paren (pp);
- pp_expression (pp, WHILE_COND (stmt));
- pp_c_right_paren (pp);
- pp_newline_and_indent (pp, 3);
- pp_statement (pp, WHILE_BODY (stmt));
- pp_indentation (pp) -= 3;
- pp_needs_newline (pp) = true;
- break;
-
- case DO_STMT:
- pp_c_identifier (pp, "do");
- pp_newline_and_indent (pp, 3);
- pp_statement (pp, DO_BODY (stmt));
- pp_newline_and_indent (pp, -3);
- pp_c_identifier (pp, "while");
- pp_space (pp);
- pp_c_left_paren (pp);
- pp_expression (pp, DO_COND (stmt));
- pp_c_right_paren (pp);
- pp_c_semicolon (pp);
- pp_needs_newline (pp) = true;
- break;
-
- case FOR_STMT:
- pp_c_identifier (pp, "for");
- pp_space (pp);
- pp_c_left_paren (pp);
- if (FOR_INIT_STMT (stmt))
- pp_statement (pp, FOR_INIT_STMT (stmt));
- else
- pp_c_semicolon (pp);
- pp_needs_newline (pp) = false;
- pp_c_whitespace (pp);
- if (FOR_COND (stmt))
- pp_expression (pp, FOR_COND (stmt));
- pp_c_semicolon (pp);
- pp_needs_newline (pp) = false;
- pp_c_whitespace (pp);
- if (FOR_EXPR (stmt))
- pp_expression (pp, FOR_EXPR (stmt));
- pp_c_right_paren (pp);
- pp_newline_and_indent (pp, 3);
- pp_statement (pp, FOR_BODY (stmt));
- pp_indentation (pp) -= 3;
- pp_needs_newline (pp) = true;
- break;
-
- /* jump-statement:
- goto identifier;
- continue ;
- return expression(opt) ; */
- case BREAK_STMT:
- case CONTINUE_STMT:
- pp_identifier (pp, code == BREAK_STMT ? "break" : "continue");
- pp_c_semicolon (pp);
- pp_needs_newline (pp) = true;
- break;
-
default:
dump_generic_node (pp_base (pp), stmt, pp_indentation (pp), 0, true);
break;