diff options
author | J"orn Rennecke <joern.rennecke@superh.com> | 2002-06-24 18:11:55 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2002-06-24 19:11:55 +0100 |
commit | 87912be720118115eded3786b807a34cfb0f0a81 (patch) | |
tree | 8d0afa5df2a9d284b0a2e3139376746a66be8dbf /gcc | |
parent | 0d893a63543e2d476899c2d7c319327eef2dafa5 (diff) | |
download | gcc-87912be720118115eded3786b807a34cfb0f0a81.zip gcc-87912be720118115eded3786b807a34cfb0f0a81.tar.gz gcc-87912be720118115eded3786b807a34cfb0f0a81.tar.bz2 |
sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK arguments into account for stack_regs.
* sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
arguments into account for stack_regs.
From-SVN: r54961
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index addb5da..10ef8b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 24 18:53:56 2002 J"orn Rennecke <joern.rennecke@superh.com> + + * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK + arguments into account for stack_regs. + 2002-06-24 Matt Kraai <kraai@alumni.cmu.edu> * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */' diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 32baea4..faf030c 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -1711,9 +1711,13 @@ struct sh_args { (CUM).arg_count[(int) SH_ARG_INT] += numregs; \ if (TARGET_SHCOMPACT \ && SHCOMPACT_FORCE_ON_STACK (MODE_, TYPE_)) \ - (CUM).call_cookie \ - |= CALL_COOKIE_INT_REG (((CUM).arg_count[(int) SH_ARG_INT] \ - - numregs), 1); \ + { \ + (CUM).call_cookie \ + |= CALL_COOKIE_INT_REG (((CUM).arg_count[(int) SH_ARG_INT] \ + - numregs), 1); \ + /* N.B. We want this also for outgoing. */\ + (CUM).stack_regs += numregs; \ + } \ else if ((CUM).byref) \ { \ if (! (CUM).outgoing) \ |