From 87912be720118115eded3786b807a34cfb0f0a81 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Mon, 24 Jun 2002 18:11:55 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/sh/sh.h | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index addb5dac2e6..10ef8b64a4b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 24 18:53:56 2002 J"orn Rennecke + + * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK + arguments into account for stack_regs. + 2002-06-24 Matt Kraai * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */' diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 32baea408e5..faf030c3612 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) \