OSDN Git Service

* tree-eh.c (lower_try_finally_copy): Do lower_eh_constructs_1
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Oct 2009 22:54:28 +0000 (22:54 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Oct 2009 22:54:28 +0000 (22:54 +0000)
        before emit_post_landing_pad.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153044 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-eh.c

index 84e81e7..933ce5f 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-20  Richard Henderson  <rth@redhat.com>
+
+       * tree-eh.c (lower_try_finally_copy): Do lower_eh_constructs_1
+       before emit_post_landing_pad.
+
 2009-10-20  Adam Nemet  <anemet@caviumnetworks.com>
 
        * config/mips/mips.c (mips_binary_cost): Add new argument speed.
index c077d94..56b1b94 100644 (file)
@@ -1192,12 +1192,11 @@ lower_try_finally_copy (struct leh_state *state, struct leh_tf_state *tf)
 
   if (tf->may_throw)
     {
-      emit_post_landing_pad (&eh_seq, tf->region);
-
       seq = lower_try_finally_dup_block (finally, state);
       lower_eh_constructs_1 (state, seq);
-      gimple_seq_add_seq (&eh_seq, seq);
 
+      emit_post_landing_pad (&eh_seq, tf->region);
+      gimple_seq_add_seq (&eh_seq, seq);
       emit_resx (&eh_seq, tf->region);
     }