]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Revert previous patch
authorAlexandre Oliva <aoliva@gcc.gnu.org>
Tue, 4 Dec 2001 15:10:16 +0000 (15:10 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Tue, 4 Dec 2001 15:10:16 +0000 (15:10 +0000)
From-SVN: r47612

gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/trans.c
gcc/c-common.c
gcc/cp/ChangeLog
gcc/cp/semantics.c
gcc/expr.c
gcc/f/ChangeLog
gcc/f/com.c
gcc/stmt.c
gcc/tree.h

index 26bed221d40bf5059df6c2f6b5e63a1c6bd34a92..2ee82900395061aa43ced4b5b435a4bc1e5b0990 100644 (file)
@@ -8,16 +8,6 @@
        * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
        DECL_INITIAL is NULL.
 
-       * stmt.c (expand_expr_stmt): Keep last_expr_value non-NULL iff
-       we're interested in the result.  Use it to tell whether to
-       ignore results of enclosed expressions.
-       (expand_start_stmt_expr): Added new argument, and initialize
-       last_expr_value accordingly.
-       * tree.h (expand_start_stmt_expr): Adjusted declaration.
-       * c-common.c (c_expand_expr): Adjust call.
-       * expr.c (expand_expr) [EXPR_WFL]: Pass const0_rtx down if
-       ignoring the result.
-
 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
 
        * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
index d2ac167bf07f0d55b53dd18e237ef41a07472813..cf3b44bb4a9097aa589c8267cfb0bb25d957352f 100644 (file)
@@ -1,7 +1,3 @@
-2001-12-04  Andreas Jaeger  <aj@suse.de>
-
-       * trans.c (tree_transform): Adjust call of expand_start_stmt_expr.
-
 2001-12-03  Robert Dewar <dewar@gnat.com>
 
        * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
index 2f3965f09e62787c26b19755d0715f71cc9182c8..deec9e79a7ba8a224f742b3ce32507ebf90c44f5 100644 (file)
@@ -6,7 +6,7 @@
  *                                                                          *
  *                          C Implementation File                           *
  *                                                                          *
- *                            $Revision: 1.5 $
+ *                            $Revision: 1.6 $
  *                                                                          *
  *          Copyright (C) 1992-2001, Free Software Foundation, Inc.         *
  *                                                                          *
@@ -1797,7 +1797,7 @@ tree_transform (gnat_node)
           we need to make sure it gets executed after the LHS.  */
        gnu_lhs = gnat_to_gnu (Left_Opnd (gnat_node));
        clear_last_expr ();
-       gnu_rhs_side = expand_start_stmt_expr (1);
+       gnu_rhs_side = expand_start_stmt_expr ();
        gnu_rhs = gnat_to_gnu (Right_Opnd (gnat_node));
        expand_end_stmt_expr (gnu_rhs_side);
        gnu_result_type = get_unpadded_type (Etype (gnat_node));
index 41aaeb6057d0c7e5f447e4c2f69b55058906bb83..a7d005b04ed4203656eafdbafd242addbb4709ca 100644 (file)
@@ -3409,7 +3409,7 @@ c_expand_expr (exp, target, tmode, modifier)
           out-of-scope after the first EXPR_STMT from within the
           STMT_EXPR.  */
        push_temp_slots ();
-       rtl_expr = expand_start_stmt_expr (target != const0_rtx);
+       rtl_expr = expand_start_stmt_expr ();
        expand_stmt (STMT_EXPR_STMT (exp));
        expand_end_stmt_expr (rtl_expr);
        result = expand_expr (rtl_expr, target, tmode, modifier);
index 01ba7883d15bb631c83992bb371f35cf3c80d692..a8118ef9b593cea4fc84e3859d52433c37315aeb 100644 (file)
@@ -1,8 +1,3 @@
-2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
-
-       * semantics.c (begin_global_stmt_expr): Adjust
-       expand_start_stmt_expr invocation.
-
 2001-12-04  Nathan Sidwell  <nathan@codesourcery.com>
 
        * pt.c (end_template_parm_list): Clear TREE_CHAIN of each parm.
index aecaca7fa56761e7730c16e4096d725192ac1bb1..2a31da0ef2e62938f5afa16f5609374dec5018ab 100644 (file)
@@ -1292,7 +1292,7 @@ begin_global_stmt_expr ()
 
   keep_next_level (1);
   
-  return (last_tree != NULL_TREE) ? last_tree : expand_start_stmt_expr(1); 
+  return (last_tree != NULL_TREE) ? last_tree : expand_start_stmt_expr(); 
 }
 
 /* Finish the STMT_EXPR last begun with begin_global_stmt_expr.  */
index 1a4681e5b0050ceb7d7572f45d7c7d1220fdc1bc..659ff032db4f2f48ed3b8194fd22f32ca7a9fdc5 100644 (file)
@@ -6528,9 +6528,7 @@ expand_expr (exp, target, tmode, modifier)
        if (EXPR_WFL_EMIT_LINE_NOTE (exp))
          emit_line_note (input_filename, lineno);
        /* Possibly avoid switching back and forth here.  */
-       to_return = expand_expr (EXPR_WFL_NODE (exp),
-                                target || ! ignore ? target : const0_rtx,
-                                tmode, modifier);
+       to_return = expand_expr (EXPR_WFL_NODE (exp), target, tmode, modifier);
        input_filename = saved_input_filename;
        lineno = saved_lineno;
        return to_return;
index 766ea98dcbf960a29d775cba569312fa14231c8d..e9728d336fcf1ea3c6d897beef889dda9c02e128 100644 (file)
@@ -1,8 +1,3 @@
-Tue Dec  4 08:28:42 2001  Alexandre Oliva  <aoliva@redhat.com>
-
-       * com.c (ffecom_expr_power_integer_): Adjust
-       expand_start_stmt_expr() invocation.
-
 Mon Dec  3 18:56:04 2001  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * com.c: Remove leading capital from diagnostic messages, as
index 5916be769a2ee68e1bb593ba0194c2cfc14d4ce9..64aa8ffb389cfdd41de4ca6634bb2d783014687a 100644 (file)
@@ -5584,7 +5584,7 @@ ffecom_expr_power_integer_ (ffebld expr)
     basetypeof_l_is_int
       = build_int_2 ((TREE_CODE (ltype) == INTEGER_TYPE), 0);
 
-    se = expand_start_stmt_expr (1);
+    se = expand_start_stmt_expr ();
 
     ffecom_start_compstmt ();
 
index bfac270dd524229452c32d66d0caa6098c7bb8dd..2b176bb9e9a58b90d2d59b85a774481a51186fc5 100644 (file)
@@ -2149,8 +2149,6 @@ void
 expand_expr_stmt (exp)
      tree exp;
 {
-  bool want_value = last_expr_value != NULL_RTX;
-
   /* If -W, warn about statements with no side effects,
      except for an explicit cast to void (e.g. for assert()), and
      except inside a ({...}) where they may be useful.  */
@@ -2177,7 +2175,7 @@ expand_expr_stmt (exp)
      last_expr_value to get reset.  Therefore, we set last_expr_value
      and last_expr_type *after* calling expand_expr.  */
   last_expr_value = expand_expr (exp,
-                                (want_value && expr_stmts_for_value
+                                (expr_stmts_for_value
                                  ? NULL_RTX : const0_rtx),
                                 VOIDmode, 0);
   last_expr_type = TREE_TYPE (exp);
@@ -2190,7 +2188,7 @@ expand_expr_stmt (exp)
       if (TYPE_MODE (TREE_TYPE (exp)) == VOIDmode)
        ;
       else if (TYPE_MODE (TREE_TYPE (exp)) != BLKmode)
-       last_expr_value = copy_to_reg (last_expr_value);
+       copy_to_reg (last_expr_value);
       else
        {
          rtx lab = gen_label_rtx ();
@@ -2213,14 +2211,6 @@ expand_expr_stmt (exp)
      above.  */
   free_temp_slots ();
 
-  if (! want_value && last_expr_value)
-    {
-      protect_from_queue (last_expr_value, 0);
-      last_expr_value = NULL_RTX;
-    }
-  else if (want_value && ! last_expr_value)
-    last_expr_value = const0_rtx;
-
   emit_queue ();
 }
 
@@ -2346,8 +2336,7 @@ clear_last_expr ()
    The caller must save that value and pass it to expand_end_stmt_expr.  */
 
 tree
-expand_start_stmt_expr (want_value)
-     int want_value;
+expand_start_stmt_expr ()
 {
   tree t;
 
@@ -2358,7 +2347,6 @@ expand_start_stmt_expr (want_value)
   start_sequence_for_rtl_expr (t);
   NO_DEFER_POP;
   expr_stmts_for_value++;
-  last_expr_value = want_value ? const0_rtx : NULL_RTX;
   return t;
 }
 
index 9492b01e294095b8c59cc28d3d5775d53126cbc9..859a564b360e4fefe3cc20afc94455a42d7be1a0 100644 (file)
@@ -2706,7 +2706,7 @@ extern int type_num_arguments                   PARAMS ((tree));
 
 extern int in_control_zone_p                   PARAMS ((void));
 extern void expand_fixups                      PARAMS ((rtx));
-extern tree expand_start_stmt_expr             PARAMS ((int));
+extern tree expand_start_stmt_expr             PARAMS ((void));
 extern tree expand_end_stmt_expr               PARAMS ((tree));
 extern void expand_expr_stmt                   PARAMS ((tree));
 extern int warn_if_unused_value                        PARAMS ((tree));