]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and...
authorJulian Brown <julian@codesourcery.com>
Fri, 28 Oct 2011 10:48:32 +0000 (10:48 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Fri, 28 Oct 2011 10:48:32 +0000 (10:48 +0000)
PR rtl-optimization/47918

* reload1.c (set_initial_label_offsets): Use initial offsets
for labels on the nonlocal_goto_handler_labels chain.

From-SVN: r180611

gcc/ChangeLog
gcc/reload1.c

index 06a4352baf630e84a3c50ec497673b6da135daaf..ae569a889b5d65043b3c7c5aec2705dfcf44d9c1 100644 (file)
@@ -1,3 +1,10 @@
+2011-10-28  Julian Brown  <julian@codesourcery.com>
+
+       PR rtl-optimization/47918
+
+       * reload1.c (set_initial_label_offsets): Use initial offsets
+       for labels on the nonlocal_goto_handler_labels chain.
+
 2011-10-28  Iain Sandoe  <iains@gcc.gnu.org>
 
        * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): 
index 6070eaa81a6494a559007b13a78c286f40eded7c..04a839ede7b9bd32a37fa9c23f3cd63b1f8a0441 100644 (file)
@@ -3918,6 +3918,10 @@ set_initial_label_offsets (void)
     if (XEXP (x, 0))
       set_label_offsets (XEXP (x, 0), NULL_RTX, 1);
 
+  for (x = nonlocal_goto_handler_labels; x; x = XEXP (x, 1))
+    if (XEXP (x, 0))
+      set_label_offsets (XEXP (x, 0), NULL_RTX, 1);
+
   for_each_eh_label (set_initial_eh_label_offset);
 }