Change edge_to_cases_cleanup to return true.
authorNathan Froyd <froydnj@codesourcery.com>
Fri, 13 May 2011 13:44:04 +0000 (13:44 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 13 May 2011 13:44:04 +0000 (06:44 -0700)
2011-05-13  Nathan Froyd  <froydnj@codesourcery.com>

PR middle-end/48965
* tree-cfg.c (edge_to_cases_cleanup): Return true.
(verify_expr) [CASE_LABEL_EXPR]: Add checking.

From-SVN: r173733

gcc/ChangeLog
gcc/tree-cfg.c

index 52e6f10d5863c40f456d6f726054dbb05fe247db..5a8fdff2e2c3cbaedf9f606b02b2255b88cba0fb 100644 (file)
@@ -1,3 +1,9 @@
+2011-05-13  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR middle-end/48965
+       * tree-cfg.c (edge_to_cases_cleanup): Return true.
+       (verify_expr) [CASE_LABEL_EXPR]: Add checking.
+
 2011-05-13  Kai Tietz  <ktietz@redhat.com>
 
        * gimplify.c (gimplify_expr): Make sure operand is boolified.
index c5fa41637ccbbc18ba3da91fa0693abc66a8e527..9e74f587f9e9888c8c439c451239a5581f1bcdf8 100644 (file)
@@ -843,7 +843,7 @@ edge_to_cases_cleanup (const void *key ATTRIBUTE_UNUSED, void **value,
     }
 
   *value = NULL;
-  return false;
+  return true;
 }
 
 /* Start recording information mapping edges to case labels.  */
@@ -2830,6 +2830,14 @@ verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
        *walk_subtrees = 0;
       break;
 
+    case CASE_LABEL_EXPR:
+      if (CASE_CHAIN (t))
+       {
+         error ("invalid CASE_CHAIN");
+         return t;
+       }
+      break;
+
     default:
       break;
     }