OSDN Git Service

(v9 varargs va_start): Handle __builtin_va_alist being stack argument.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Sep 1995 22:52:26 +0000 (22:52 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Sep 1995 22:52:26 +0000 (22:52 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10345 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ginclude/va-sparc.h

index 9433992..40a2404 100644 (file)
@@ -74,7 +74,8 @@ __extension__ \
      AP.__va_next_fp = (__va_freg *) AP.__va_next_o_limit; \
      AP.__va_next_fp_limit = (AP.__va_next_fp + \
                              (__builtin_args_info (1) < 16 ? (16 - __builtin_args_info (1) + 1) / 2 : 0)); \
-     AP.__va_next_stack = (__va_greg *) __builtin_next_arg (__builtin_va_alist); \
+     AP.__va_next_stack = (__va_greg *) __builtin_next_arg (__builtin_va_alist) \
+       - (__builtin_args_info (0) >= 6 || __builtin_args_info (1) >= 16 ? 1 : 0); \
   })
 #else
 #ifdef __GCC_NEW_VARARGS__