aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-06-06 15:24:45 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-06-06 15:24:45 +0200
commitc6eb958c63c8f92d793a1fcf17e6b74582afd04d (patch)
tree101f6f54da1f8ea560586c87ac30084889d7f109
parent673390625d47454c13f53fdf229bb3565ee6b2fc (diff)
downloadgcc-c6eb958c63c8f92d793a1fcf17e6b74582afd04d.zip
gcc-c6eb958c63c8f92d793a1fcf17e6b74582afd04d.tar.gz
gcc-c6eb958c63c8f92d793a1fcf17e6b74582afd04d.tar.bz2
re PR rtl-optimization/36419 (Wrong unwind info with -Os -fasynchronous-unwind-tables)
PR rtl-optimization/36419 * except.c (expand_resx_expr): Call do_pending_stack_adjust () before the emitting jump insn. From-SVN: r136435
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/except.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7da7dd..7e37721 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2008-06-06 Jakub Jelinek <jakub@redhat.com>
+ PR rtl-optimization/36419
+ * except.c (expand_resx_expr): Call do_pending_stack_adjust () before
+ the emitting jump insn.
+
PR target/36362
* gimplify.c (gimplify_expr) <case TRUTH_NOT_EXPR>: If *expr_p type
is not bool, boolify the whole *expr_p and convert to the desired type.
diff --git a/gcc/except.c b/gcc/except.c
index f8bacd5..8ebfd7f 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -540,6 +540,7 @@ expand_resx_expr (tree exp)
cfun->eh->region_array, region_nr);
gcc_assert (!reg->resume);
+ do_pending_stack_adjust ();
reg->resume = emit_jump_insn (gen_rtx_RESX (VOIDmode, region_nr));
emit_barrier ();
}