diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h index 4afdb7d84c..0e5ea1978d 100644 --- a/MdePkg/Include/Base.h +++ b/MdePkg/Include/Base.h @@ -339,11 +339,11 @@ struct _LIST_ENTRY { // typedef __builtin_va_list VA_LIST; -#define VA_START(Marker, Parameter) __builtin_va_start(Marker, Parameter) +#define VA_START(Marker, Parameter) __builtin_va_start (Marker, Parameter) -#define VA_ARG(Marker, TYPE) __builtin_va_arg(Marker, TYPE) +#define VA_ARG(Marker, TYPE) ((sizeof (TYPE) < sizeof (UINTN)) ? (TYPE)(__builtin_va_arg (Marker, UINTN)) : (TYPE)(__builtin_va_arg (Marker, TYPE))) -#define VA_END(Marker) __builtin_va_end(Marker) +#define VA_END(Marker) __builtin_va_end (Marker) #else /**