]> git.proxmox.com Git - mirror_edk2.git/commit
StdLib: Fix build errors caused by differences between the minGW 4.3 and GCC 4.4...
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 1 Sep 2011 21:56:45 +0000 (21:56 +0000)
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 1 Sep 2011 21:56:45 +0000 (21:56 +0000)
commit5244f47e46709b22ecefcee8e52b6dc6170ed6c9
treebdc5e498097d72ee19390d8f6cdfebe91fcf8c64
parentb2824a8e1362b89285663e1ab9b88e9fbb4bc572
StdLib: Fix build errors caused by differences between the minGW 4.3 and GCC 4.4 compilers.

There are several significant differences between the mingw32 (gcc 4.3.0 based) compiler and the GCC 4.4 and later compilers.

Mingw32 requires that types int, long, long long, unsigned { int, long, long long}, float, and double be the only types passed to va_arg(). This requires the programmer to ensure that va_arg is called with type int for arguments of any type with a size less-than or equal-to int.  GCC 4.4 and later does not require this and performs the appropriate promotions for you.

Mingw32 uses 32-bit long in both ia32 and x64 mode.  GCC 4.4 makes long a 64-bit value when in x64 mode.

Signed-off-by: darylm503
Reviewed-by: jcarsey
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12258 6f19259b-4bc3-4df7-8a09-765794883524
StdLib/Include/X64/machine/limits.h
StdLib/Include/X64/machine/types.h
StdLib/Include/sys/EfiCdefs.h
StdLib/LibC/Stdio/vfwprintf.c