diff options
author | Richard Henderson <rth@redhat.com> | 2004-07-01 18:15:43 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-07-01 18:15:43 -0700 |
commit | 4dfa034295629327f8b823cb1c6dfa1585ac86ee (patch) | |
tree | d7b1ab265a5bd2738e55776227182ff82a96a751 /gcc/cp | |
parent | f6fe65dc61754f3dc25a8757a1955b61e6374f51 (diff) | |
download | gcc-4dfa034295629327f8b823cb1c6dfa1585ac86ee.zip gcc-4dfa034295629327f8b823cb1c6dfa1585ac86ee.tar.gz gcc-4dfa034295629327f8b823cb1c6dfa1585ac86ee.tar.bz2 |
tree.def (RTL_EXPR): Remove.
* tree.def (RTL_EXPR): Remove.
* c-typeck.c (lvalue_p): Don't handle it.
* expr.c (safe_from_p): Likewise.
(expand_expr_real_1): Likewise.
* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
* gengtype.c (adjust_field_tree_exp): Likewise.
* stmt.c (warn_if_unused_value): Likewise.
* tree-gimple.c (recalculate_side_effects): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.
* stmt.c (struct stmt_status): Remove x_last_expr_type,
x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
(expand_expr_stmt): Merge with expand_expr_stmt_value. Remove
all the bits that tracked last_expr.
(expand_end_bindings): Don't track last_expr.
(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
(clear_last_expr): Remove.
(expand_asm): Don't call it.
(expand_asm_operands, expand_end_cond): Likewise.
(expand_naked_return, expand_null_return_1): Likewise.
* c-typeck.c (c_begin_compound_stmt): Likewise.
* cfgexpand.c (expand_block): Use expand_expr_stmt.
* expr.c (expand_expr_real_1): Likewise.
* tree.h: Update prototypes.
* function.h (struct sequence_stack): Remove sequence_rtl_expr.
(struct emit_status): Remove sequence_rtl_expr.
(struct function): Remove x_rtl_expr_chain.
(seq_rtl_expr, rtl_expr_chain): Remove.
* function.c (struct temp_slot): Remove rtl_expr.
(assign_stack_temp_for_type): Don't set it.
(free_temp_slots, pop_temp_slots): Don't check it.
(free_after_compilation): Don't clear x_rtl_expr_chain.
(fixup_var_refs): Don't search it.
(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
or seq_rtl_expr.
(push_topmost_sequence): Likewise.
(end_sequence, init_emit): Likewise.
(start_sequence_for_rtl_expr): Remove.
* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
* rtl.h (preserve_rtl_expr_result): Remove.
ada/
* trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
* utils.c (max_size): Likewise.
cp/
* class.c (fixed_type_or_null): Don't handle RTL_EXPR.
* method.c (synthesize_method): Don't clear_last_expr.
* name-lookup.c (maybe_push_cleanup_level): Likewise.
From-SVN: r84009
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/class.c | 3 | ||||
-rw-r--r-- | gcc/cp/method.c | 1 | ||||
-rw-r--r-- | gcc/cp/name-lookup.c | 1 |
4 files changed, 6 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c8f9358..7ebda95 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2004-07-01 Richard Henderson <rth@redhat.com> + + * class.c (fixed_type_or_null): Don't handle RTL_EXPR. + * method.c (synthesize_method): Don't clear_last_expr. + * name-lookup.c (maybe_push_cleanup_level): Likewise. + 2004-07-01 Nick Clifton <nickc@redhat.com> * decl2.c (import_export_class): Invoke the diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 8f188c4..fdf15e1 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -5309,9 +5309,6 @@ fixed_type_or_null (tree instance, int* nonnull, int* cdtorp) } return fixed_type_or_null (TREE_OPERAND (instance, 0), nonnull, cdtorp); - case RTL_EXPR: - return NULL_TREE; - case PLUS_EXPR: case MINUS_EXPR: if (TREE_CODE (TREE_OPERAND (instance, 0)) == ADDR_EXPR) diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 327adc5..8745dce 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -740,7 +740,6 @@ synthesize_method (tree fndecl) interface_unknown = 1; start_preparsed_function (fndecl, NULL_TREE, SF_DEFAULT | SF_PRE_PARSED); - clear_last_expr (); stmt = begin_function_body (); if (DECL_OVERLOADED_OPERATOR_P (fndecl) == NOP_EXPR) diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 899a2ea..e449631 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -1440,7 +1440,6 @@ maybe_push_cleanup_level (tree type) { begin_scope (sk_cleanup, NULL); current_binding_level->statement_list = push_stmt_list (); - clear_last_expr (); } } |