File gcc43-better-debuginfo-2.diff of Package gcc43

2008-10-09  Jakub Jelinek  <jakub@redhat.com>

	* tree-ssa-live.c (remove_unused_locals): Mark all edge's goto_block
	as used.

Index: gcc/tree-ssa-live.c
===================================================================
--- gcc/tree-ssa-live.c.orig	2008-02-19 10:56:00.000000000 +0100
+++ gcc/tree-ssa-live.c	2011-10-11 15:10:37.000000000 +0200
@@ -591,6 +591,8 @@ remove_unused_locals (void)
     {
       block_stmt_iterator bsi;
       tree phi, def;
+      edge_iterator ei;
+      edge e;
 
       /* Walk the statements.  */
       for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
@@ -614,6 +616,10 @@ remove_unused_locals (void)
 	      mark_all_vars_used (&arg, NULL);
             }
         }
+
+      FOR_EACH_EDGE (e, ei, bb->succs)
+	if (e->goto_locus && e->goto_block)
+	  TREE_USED (e->goto_block) = true;
     }
 
   /* Remove unmarked local vars from unexpanded_var_list.  */
openSUSE Build Service is sponsored by