From b521e9b9b7b2c878830b12120aede2163dffb058 Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Tue, 1 Nov 2011 18:38:42 +0000 Subject: [PATCH] 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: r180740 --- gcc/ChangeLog | 7 +++++++ gcc/reload1.c | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 296ac8c181e4..a06f0e31b857 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-11-01 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-29 John David Anglin PR target/50691 diff --git a/gcc/reload1.c b/gcc/reload1.c index cee127f936ba..84cbfca17aa8 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -3899,6 +3899,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); } -- 2.47.2