Subject: bug#18699: 25.0.50; Windows 7: Odd length text property list

From: [email-masked] (Óscar Fuentes)
Date: Mon, 13 Oct 2014 13:46:22 +0200

The MinGW-w64 guys say that _W64 is not the rigth way of checking that
we are targeting Windows 64. _WIN64 is.

http://sourceforge.net/p/mingw-w64/mailman/message/32925577/

AFAIU the fact that we are using _W64 for detecting MinGW-w64 (on both
32 and 64 bit variants) is also wrong. _W64 is a MS thing and not
specific to MinGW-w64, as explained on the StackOverflow question linked
from the above message. It just happens that MinGW does not define it.

The right way to detect MinGW-w64 is to test for __MINGW64_VERSION_MAJOR
*after* including some C runtime header or _mingw.h, because it is not a
preprocessor predefined macro. It is explained here:

http://sourceforge.net/p/mingw-w64/discussion/723798/thread/ea355c1f/#d4db

I propose to fix the ALIGN_STACK issue by replacing _W64 with _WIN64 and
later fix the places where _W64 is used for detecting MinGW-w64 with the
right method.

Eli, can you take care of the ALIGN_STACK fix? I'll send a patch for the
rest of _W64 cases, if nobody beats me to it.