Update GCC version of VAR_ARG () to be compatible with non GCC version of VAR_ARG () so it handles TYPE parameters that are smaller than UINTN properly when GCC builtins are used for vararg parsing.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8282 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
mdkinney 2009-05-10 19:44:21 +00:00
parent 78b993a8f9
commit 6ed623e403
1 changed files with 3 additions and 3 deletions

View File

@ -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
/**