diff options
-rw-r--r-- | gcc/ginclude/va-mips.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ginclude/va-mips.h b/gcc/ginclude/va-mips.h index 33774dcff62..02152bfc972 100644 --- a/gcc/ginclude/va-mips.h +++ b/gcc/ginclude/va-mips.h @@ -66,11 +66,11 @@ void va_end (__gnuc_va_list); /* Defined in libgcc.a */ #if __mips==3 #ifdef __MIPSEB__ #define va_arg(__AP, __type) \ - ((__type *) (void *) (__AP = (char *) ((((int)__AP + 8 - 1) & -8) \ + ((__type *) (void *) (__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \ + __va_rounded_size (__type))))[-1] #else #define va_arg(__AP, __type) \ - ((__AP = (char *) ((((int)__AP + 8 - 1) & -8) \ + ((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \ + __va_rounded_size (__type))), \ *(__type *) (void *) (__AP - __va_rounded_size (__type))) #endif |