diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-11-10 19:59:26 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-11-10 19:59:26 +0000 |
commit | 440bc43b9111fde12734cf179c23e7106fac724d (patch) | |
tree | 16d43ad70bb84e479c47f08124ac9ecff0a91304 /gcc/reg-stack.c | |
parent | 280895aeb05e11921c46cb7ff5711f7852fa06be (diff) | |
download | gcc-440bc43b9111fde12734cf179c23e7106fac724d.tar.gz |
FOrgot to commit the file itself. Changelog entry is already at:
* 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
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 4d37cecc886..18bfeca3c75 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -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: |