reg-stack.c (convert_regs_1): Initialize target_stack->top after verifying an EH...
authorRichard Henderson <rth@cygnus.com>
Fri, 5 Nov 1999 00:37:48 +0000 (16:37 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 5 Nov 1999 00:37:48 +0000 (16:37 -0800)
        * reg-stack.c (convert_regs_1): Initialize target_stack->top
        after verifying an EH edge.

From-SVN: r30402

gcc/ChangeLog
gcc/reg-stack.c

index 145a329c37169c9dda96c68fb88a511a7d70b4a0..ccaede9af824af8ff6239d0b23ce8852015a8dbb 100644 (file)
@@ -1,4 +1,9 @@
-Fri Nov  5 19:38:14 1999  Richard Henderson  <rth@cygnus.com>
+Thu Nov  4 16:36:44 1999  Richard Henderson  <rth@cygnus.com>
+
+       * reg-stack.c (convert_regs_1): Initialize target_stack->top
+       after verifying an EH edge.
+
+Thu Nov  4 16:36:36 1999  Richard Henderson  <rth@cygnus.com>
 
        * function.c (diddle_return_value): New.
        (expand_function_end): Use it.
index 4efaea1c73f59f8b330ebee915d04b6c0d849335..ec7d06997cc7a0680e1975ddc344b5eb8fc619e6 100644 (file)
@@ -2546,15 +2546,16 @@ convert_regs_1 (file, block)
          HARD_REG_SET tmp;
 
          CLEAR_HARD_REG_SET (tmp);
-         GO_IF_HARD_REG_EQUAL (BLOCK_INFO (e->dest)->stack_in.reg_set,
-                               tmp, eh1);
+         GO_IF_HARD_REG_EQUAL (target_stack->reg_set, tmp, eh1);
          abort();
        eh1:
 
          SET_HARD_REG_BIT (tmp, FIRST_STACK_REG);
-         GO_IF_HARD_REG_EQUAL (BLOCK_INFO (e->src)->out_reg_set, tmp, eh2);
+         GO_IF_HARD_REG_EQUAL (regstack.reg_set, tmp, eh2);
          abort();
-       eh2:;
+       eh2:
+
+         target_stack->top = -1;
        }
 
       /* It is better to output directly to the end of the block