--- gcc/ginclude/va-clipper.h 2018/04/24 18:23:46 1.1 +++ gcc/ginclude/va-clipper.h 2018/04/24 18:31:29 1.1.1.2 @@ -39,20 +39,19 @@ typedef struct (AP).__va_num = __builtin_args_info (0)) #endif /* _STDARG_H */ -#define __va_rounded_size(TYPE) \ - (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) - +/* round to alignment of `type' but keep a least integer alignment */ #define __va_round(AP,TYPE) \ ((AP).__va_ap = ((AP).__va_ap + __alignof__ (TYPE) - 1 ) & \ - ~(__alignof__ (TYPE) - 1)) + ~(__alignof__ (TYPE) - 1), \ + ((AP).__va_ap = ((AP).__va_ap + sizeof (int) - 1) & ~(sizeof (int) - 1))) #define va_arg(AP, TYPE) \ - ((AP).__va_num < 2 && __builtin_classify_type (* (TYPE *)0) < 12 \ + (*((AP).__va_num < 2 && __builtin_classify_type (* (TYPE *)0) < 12 \ ? (__builtin_classify_type (* (TYPE *)0) == 8 \ - ? (*(TYPE *)(AP).__va_reg[2 * (AP).__va_num++ + 1]) \ - : (*(TYPE *)(AP).__va_reg[2 * (AP).__va_num++ ])) \ - : ((AP).__va_num++, __va_round (AP,TYPE), *((TYPE *)((AP).__va_ap))++)) + ? ((TYPE *)(AP).__va_reg[2 * (AP).__va_num++ + 1]) \ + : ((TYPE *)(AP).__va_reg[2 * (AP).__va_num++ ])) \ + : ((AP).__va_num++, __va_round (AP,TYPE), ((TYPE *)((AP).__va_ap))++))) -#define va_end(AP) +#define va_end(AP) ((void) 0) #endif /* defined (_STDARG_H) || defined (_VARARGS_H) */