From: Julian Brown Date: Fri, 28 Oct 2011 10:48:32 +0000 (+0000) Subject: re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and... X-Git-Tag: releases/gcc-4.7.0~2742 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b27df4bbaf6b18a2ef60b585c6706f89b36affa1;p=thirdparty%2Fgcc.git re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and i386) 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06a4352baf63..ae569a889b5d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-10-28 Julian Brown + + 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 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): diff --git a/gcc/reload1.c b/gcc/reload1.c index 6070eaa81a64..04a839ede7b9 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -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); }