diff options
author | Julian Brown <julian@codesourcery.com> | 2011-10-28 10:48:32 +0000 |
---|---|---|
committer | Julian Brown <jules@gcc.gnu.org> | 2011-10-28 10:48:32 +0000 |
commit | b27df4bbaf6b18a2ef60b585c6706f89b36affa1 (patch) | |
tree | 2c31b9489c5475b701e1793c1db54ecf7a0e7196 /gcc | |
parent | e0f19b55ae71acd195e1c439584c4b4fe5cbd89c (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/reload1.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06a4352..ae569a8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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): 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); } |