summaryrefslogtreecommitdiff
path: root/gcc/ginclude/va-pyr.h
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-09-15 05:08:02 +0000
committerRichard Stallman <rms@gnu.org>1992-09-15 05:08:02 +0000
commit7436f435abe0acd250189907a0c310927d11bac6 (patch)
treec311824632a76447650144710d097e05f5a0c2a8 /gcc/ginclude/va-pyr.h
parent347099d6ef97a689c52d883c5547f024a719da24 (diff)
downloadgcc-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.h4
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 */