]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK arguments into account...
authorJ"orn Rennecke <joern.rennecke@superh.com>
Mon, 24 Jun 2002 18:11:55 +0000 (18:11 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Mon, 24 Jun 2002 18:11:55 +0000 (19:11 +0100)
* sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
arguments into account for stack_regs.

From-SVN: r54961

gcc/ChangeLog
gcc/config/sh/sh.h

index addb5dac2e67fb8a6bac85868e3b119f6d83268a..10ef8b64a4bbeb6c9664063257cb967727e19724 100644 (file)
@@ -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{}} */'
index 32baea408e51899309c66dc862838578ba74436e..faf030c3612a3a0ee786cdb43ad099dff772c4ea 100644 (file)
@@ -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)                      \