]> git.pld-linux.org Git - packages/gcc.git/commitdiff
- already commited.
authorPaweł Sikora <pluto@pld-linux.org>
Wed, 20 Sep 2006 08:05:38 +0000 (08:05 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-pr19505.patch -> 1.1.2.1

gcc-pr19505.patch [deleted file]

diff --git a/gcc-pr19505.patch b/gcc-pr19505.patch
deleted file mode 100644 (file)
index 3d6194a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-The problem here is that have two basic block forwarders which go to the
-same basic block but destination of two different eh regions.  We cannot
-forward both of these basic blocks to that other basic block.
-
-The way I fixed the issue is to make sure that if we removing
-a forwarder block which is coming in from a EH edge, make sure
-that the destination basic block have only one single predecessor.
-Yes this is too strong but there is no simple way to check if a basic
-block is the destination of a different eh region.
-
---- gcc/gcc/tree-cfgcleanup.c  19 Aug 2005 18:52:55 -0000      2.7
-+++ gcc/gcc/tree-cfgcleanup.c  24 Sep 2005 23:30:54 -0000
-@@ -392,7 +392,18 @@ remove_forwarder_block (basic_block bb, 
-           return false;
-       }
-     }
--
-+  /* Check to make sure that we can remove a forwarder block for eh edges.  */
-+  FOR_EACH_EDGE (e, ei, bb->preds)
-+    {
-+      /* This check is too strong, we should also be checking eh regions
-+         but this is much harder.  */
-+      if (e->flags & EDGE_EH)
-+        {
-+        if (!single_pred_p (dest))
-+          return false;
-+      }
-+    }
-+  
-   /* Redirect the edges.  */
-   for (ei = ei_start (bb->preds); (e = ei_safe_edge (ei)); )
-     {
This page took 0.130156 seconds and 4 git commands to generate.