diff options
Diffstat (limited to 'gcc/ginclude/va-sparc.h')
-rw-r--r-- | gcc/ginclude/va-sparc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ginclude/va-sparc.h b/gcc/ginclude/va-sparc.h index 9433992..40a2404 100644 --- a/gcc/ginclude/va-sparc.h +++ b/gcc/ginclude/va-sparc.h @@ -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__ |