OSDN Git Service

FOrgot to commit the file itself. Changelog entry is already at:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Nov 2002 19:59:26 +0000 (19:59 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Nov 2002 19:59:26 +0000 (19:59 +0000)
* reg-stack.c (compensate_edge): Fix sanity check.

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

gcc/reg-stack.c

index 4d37cec..18bfeca 100644 (file)
@@ -2553,7 +2553,11 @@ compensate_edge (e, file)
       abort ();
     eh1:
 
+      /* We are sure that there is st(0) live, otherwise we won't compensate.
+        For complex return values, we may have st(1) live as well.  */
       SET_HARD_REG_BIT (tmp, FIRST_STACK_REG);
+      if (TEST_HARD_REG_BIT (regstack.reg_set, FIRST_STACK_REG + 1))
+        SET_HARD_REG_BIT (tmp, FIRST_STACK_REG + 1);
       GO_IF_HARD_REG_EQUAL (regstack.reg_set, tmp, eh2);
       abort ();
     eh2: