diff options
author | Richard Stallman <rms@gnu.org> | 1992-09-15 05:08:02 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-09-15 05:08:02 +0000 |
commit | 7436f435abe0acd250189907a0c310927d11bac6 (patch) | |
tree | c311824632a76447650144710d097e05f5a0c2a8 /gcc/ginclude/va-pyr.h | |
parent | 347099d6ef97a689c52d883c5547f024a719da24 (diff) | |
download | gcc-7436f435abe0acd250189907a0c310927d11bac6.tar.gz |
(va_arg): Cast ptr to void *, then to TYPE *.
From-SVN: r2124
Diffstat (limited to 'gcc/ginclude/va-pyr.h')
-rw-r--r-- | gcc/ginclude/va-pyr.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ginclude/va-pyr.h b/gcc/ginclude/va-pyr.h index 61bddbf60c8..86f3715e9d0 100644 --- a/gcc/ginclude/va-pyr.h +++ b/gcc/ginclude/va-pyr.h @@ -107,6 +107,8 @@ typedef __va_buf __gnuc_va_list; #define __extension__ #endif +/* We cast to void * and then to TYPE * because this avoids + a warning about increasing the alignment requirement. */ #define va_arg(_AP, _MODE) \ __extension__ \ ({__voidptr *__ap = (__voidptr*)&_AP; \ @@ -119,7 +121,7 @@ __extension__ \ ((void *)__ap[__onstack])+=__size; \ if (__onstack==0 || (int)(__ap[2])==11) \ __ap[2]+= (__size >> 2); \ - *(( _MODE *)__param_addr); \ + *(( _MODE *) (void *) __param_addr); \ }) void va_end (__gnuc_va_list); /* Defined in libgcc.a */ |