diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2004-08-09 07:14:17 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2004-08-09 07:14:17 +0000 |
commit | 7efcb746dac871864e4f193ea3abda75ab2b7f5c (patch) | |
tree | f50cb79c83ac56867cb419564c6d1993a024a882 /gcc/expr.c | |
parent | c4d70ce3b976c161188e2aac6a4e0a1d5c05cb79 (diff) | |
download | gcc-7efcb746dac871864e4f193ea3abda75ab2b7f5c.zip gcc-7efcb746dac871864e4f193ea3abda75ab2b7f5c.tar.gz gcc-7efcb746dac871864e4f193ea3abda75ab2b7f5c.tar.bz2 |
Makefile.in (GTFILES): Remove stmt.c
2004-08-09 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in (GTFILES): Remove stmt.c
(stmt.o): Do not depend on gt-stmt.h.
* emit-rtl.c (emit_line_note): Do not call
set_file_and_line_for_stmt.
* expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
do everything.
* function.c (free_after_parsing): Do not free STMT field.
(allocate_struct_function): Do not call init_stmt_for_function.
(assign_stack_temp_for_type): Do not accept values of keep
other than 0 or 1.
(init_temp_slots): Do not initialize removed variables.
* function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
and X_VAR_TEMP_SLOT_LEVEL fields.
* rtl.h (set_file_and_line_for_stmt): Remove.
* stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
struct stmt_status, cond_stack, case_stack, nesting_stack,
nesting_depth, emit_locus, set_file_and_line_for_stmt,
same_case_target_p, init_stmt_for_function, emit_nop,
expand_start_cond, expand_start_elseif, expand_start_else,
expand_elseif, expand_end_cond): Remove.
(preserve_subexpressions_p): Remove references to CFUN->STMT.
(expand_start_case, expand_end_case_type): Remove, merge into...
(expand_case): ... this one, including other bits from
expand_expr_real_1. Inline same_case_target_p. Turn members
of CASE_STACK into local variables.
(emit_case_bit_tests): Inline same_case_target_p.
(add_case_node): Add HEAD argument, return new head of the list,
do not handle default label here.
* tree.h (expand_start_cond, expand_end_cond, expand_start_else,
expand_start_elseif, current_nesting_level, expand_start_case,
expand_end_case_type, expand_end_case, add_case_node,
init_stmt_for_function, expand_elseif): Remove prototypes.
(expand_case): Add prototype.
From-SVN: r85712
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 24 |
1 files changed, 2 insertions, 22 deletions
@@ -7697,7 +7697,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, goto binop; case TRUTH_OR_EXPR: - code = BIT_OR_EXPR; + code = BIT_IOR_EXPR; case BIT_IOR_EXPR: goto binop; @@ -8144,27 +8144,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, abort (); case SWITCH_EXPR: - expand_start_case (SWITCH_COND (exp)); - /* The switch body is lowered in gimplify.c, we should never have - switches with a non-NULL SWITCH_BODY here. */ - if (SWITCH_BODY (exp)) - abort (); - if (SWITCH_LABELS (exp)) - { - tree vec = SWITCH_LABELS (exp); - size_t i = TREE_VEC_LENGTH (vec); - - do - { - tree elt = TREE_VEC_ELT (vec, --i); - add_case_node (CASE_LOW (elt), CASE_HIGH (elt), - CASE_LABEL (elt)); - } - while (i); - } - else - abort (); - expand_end_case_type (SWITCH_COND (exp), TREE_TYPE (exp)); + expand_case (exp); return const0_rtx; case LABEL_EXPR: |