(va_arg, va_start): Explicitly cast to __gnuc_va_alist.
authorRichard Stallman <rms@gnu.org>
Mon, 28 Sep 1992 21:16:00 +0000 (21:16 +0000)
committerRichard Stallman <rms@gnu.org>
Mon, 28 Sep 1992 21:16:00 +0000 (21:16 +0000)
From-SVN: r2273

gcc/ginclude/stdarg.h

index ee9204ab4e993f0fed0479a323e79fb0bf6a225b..6499d83178e7d71c06b2146576e8a5e813742561 100644 (file)
@@ -57,7 +57,7 @@ typedef void *__gnuc_va_list;
   (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
 
 #define va_start(AP, LASTARG)                                          \
- (AP = ((char *) __builtin_next_arg ()))
+ (AP = ((__gnuc_va_list) __builtin_next_arg ()))
 
 void va_end (__gnuc_va_list);          /* Defined in libgcc.a */
 #define va_end(AP)
@@ -65,7 +65,7 @@ void va_end (__gnuc_va_list);         /* Defined in libgcc.a */
 /* We cast to void * and then to TYPE * because this avoids
    a warning about increasing the alignment requirement.  */
 #define va_arg(AP, TYPE)                                               \
- (AP = (char *) (AP) + __va_rounded_size (TYPE),                       \
+ (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)),    \
   *((TYPE *) (void *) ((char *) (AP) - __va_rounded_size (TYPE))))
 #endif /* _STDARG_H */