aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2011-10-28 10:48:32 +0000
committerJulian Brown <jules@gcc.gnu.org>2011-10-28 10:48:32 +0000
commitb27df4bbaf6b18a2ef60b585c6706f89b36affa1 (patch)
tree2c31b9489c5475b701e1793c1db54ecf7a0e7196 /gcc/reload1.c
parente0f19b55ae71acd195e1c439584c4b4fe5cbd89c (diff)
downloadgcc-b27df4bbaf6b18a2ef60b585c6706f89b36affa1.zip
gcc-b27df4bbaf6b18a2ef60b585c6706f89b36affa1.tar.gz
gcc-b27df4bbaf6b18a2ef60b585c6706f89b36affa1.tar.bz2
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
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 6070eaa..04a839e 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);
}