OSDN Git Service

* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Mar 2005 20:53:19 +0000 (20:53 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Mar 2005 20:53:19 +0000 (20:53 +0000)
* tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
* tree-ssa-operands.c (get_expr_operands): Likewise.
(get_expr_operands): Likewise for ERROR_MARK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96351 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-cfg.c
gcc/tree-ssa-dce.c
gcc/tree-ssa-operands.c

index 8c414e8..f60d415 100644 (file)
@@ -1,3 +1,10 @@
+2005-03-12  Steven Bosscher  <stevenb@suse.de>
+
+       * tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
+       * tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       (get_expr_operands): Likewise for ERROR_MARK.
+
 2005-03-12  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-ssa.c (kill_redundant_phi_nodes): Remove local variable
 
 2005-03-11  James A. Morrison  <phython@gcc.gnu.org>
 
-        PR tree-optimization/15784
-        * fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
-        and -1 - A to ~A.
+       PR tree-optimization/15784
+       * fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
+       and -1 - A to ~A.
 
-        * stmt.c (expand_case): Don't change index_type.  Convert minval
-        to the proper type.
+       * stmt.c (expand_case): Don't change index_type.  Convert minval
+       to the proper type.
 
        PR tree-optimization/20130
        * fold-const.c (fold): Fold x * -1 into -x.
index 0adfb3b..56b7bc2 100644 (file)
@@ -837,7 +837,7 @@ label_to_block (tree dest)
 static void
 make_goto_expr_edges (basic_block bb)
 {
-  tree goto_t, dest;
+  tree goto_t;
   basic_block target_bb;
   int for_call;
   block_stmt_iterator last = bsi_last (bb);
@@ -848,13 +848,10 @@ make_goto_expr_edges (basic_block bb)
      CALL_EXPR or MODIFY_EXPR), then the edge is an abnormal edge resulting
      from a nonlocal goto.  */
   if (TREE_CODE (goto_t) != GOTO_EXPR)
-    {
-      dest = error_mark_node;
-      for_call = 1;
-    }
+    for_call = 1;
   else
     {
-      dest = GOTO_DESTINATION (goto_t);
+      tree dest = GOTO_DESTINATION (goto_t);
       for_call = 0;
 
       /* A GOTO to a local label creates normal edges.  */
index 140282c..f8946bc 100644 (file)
@@ -221,7 +221,6 @@ static inline void
 mark_stmt_necessary (tree stmt, bool add_to_worklist)
 {
   gcc_assert (stmt);
-  gcc_assert (stmt != error_mark_node);
   gcc_assert (!DECL_P (stmt));
 
   if (NECESSARY (stmt))
index de5150e..47b4f1b 100644 (file)
@@ -998,10 +998,6 @@ get_stmt_operands (tree stmt)
      _DECL.  This indicates a bug in the gimplifier.  */
   gcc_assert (!SSA_VAR_P (stmt));
 
-  /* Ignore error statements.  */
-  if (TREE_CODE (stmt) == ERROR_MARK)
-    return;
-
   ann = get_stmt_ann (stmt);
 
   /* If the statement has not been modified, the operands are still valid.  */
@@ -1037,7 +1033,7 @@ get_expr_operands (tree stmt, tree *expr_p, int flags)
   tree expr = *expr_p;
   stmt_ann_t s_ann = stmt_ann (stmt);
 
-  if (expr == NULL || expr == error_mark_node)
+  if (expr == NULL)
     return;
 
   code = TREE_CODE (expr);