Should then _WIN32 macro be used instead of WIN32?

When I build https://gist.github.com/968522 with mingw gcc and Windows SDK cl on a Win7 32bit system, I see the following which shows cl doesn't predefine WIN32, only mingw and 32bit mingw-w64.  _WIN32 is the predefined by both compilers.  I don't have a 64bit system to verify whether this is true on Win7 64bit.

C:\Users\Jon\Documents\CDev\sandbox>predefs-mingw.exe
WIN32 defined with value 1
_WIN32 defined with value 1
__WIN32__ defined with value 1
__MINGW32__ defined with value 1
__GNUC__ defined with value 4
__GNUC_MINOR__ defined with value 5
__GNUC_PATCHLEVEL__ defined with value 2

C:\Users\Jon\Documents\CDev\sandbox>predefs-msvc.exe
_WIN32 defined with value 1
_MSC_VER defined with value 1600
_M_IX86 defined with value 600

C:\Users\Jon\Documents\CDev\sandbox>predefs-mingw64.exe
WIN32 defined with value 1
_WIN32 defined with value 1
__WIN32__ defined with value 1
__MINGW32__ defined with value 1
__GNUC__ defined with value 4
__GNUC_MINOR__ defined with value 5
__GNUC_PATCHLEVEL__ defined with value 3
_M_IX86 defined with value 600



> Hi,
> 
> The lack of WIN32 causes bad result (compilation error) of conftest for
> win32 extension libraries.
> I believe it's not caused by Ruby itself, but the latest Windows SDK's
> header files for Win64 support.
> The problem is:
>  - define 'have_header('..')  in extconf.rb
>  - mkmf.rb creates conftest.c for the header with some usual ruby's (cf,
> win32.h).
>  - but no other user specific macro or header are supplied
>  - win32.h includes winsock2.h and it requrires WIN32 or _WIN64 but
> there is no chance to supply it.
>  - so compilation of conftest.c fails.
>  - building the extension library may fail too.
> So, it's very harmful for ruby extension library programers without
> r30989.
> 
> -- 
> arton <artonx / yahoo.co.jp>
> 
>