diff options
author | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-11-10 19:59:26 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-11-10 19:59:26 +0000 |
commit | 04989d158cc39ebcaf4fe5d3bb66500ab31fde1d (patch) | |
tree | 16d43ad70bb84e479c47f08124ac9ecff0a91304 /gcc/reg-stack.c | |
parent | d898608275e56af65bf6b6ec6cba9a03a1a095df (diff) | |
download | gcc-04989d158cc39ebcaf4fe5d3bb66500ab31fde1d.zip gcc-04989d158cc39ebcaf4fe5d3bb66500ab31fde1d.tar.gz gcc-04989d158cc39ebcaf4fe5d3bb66500ab31fde1d.tar.bz2 |
FOrgot to commit the file itself. Changelog entry is already at:
* reg-stack.c (compensate_edge): Fix sanity check.
From-SVN: r58988
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 4d37cec..18bfeca 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: |