Hi,
>>>> +/* __MINGW64_VERSION_MAJOR is related to both 32/64 bit gcc compiles by
>>>> + * mingw-w64, however it gots defined only after
>>>> Why not use __MINGW32__, which is defined without including any headers?
>>
>> Because it's defined by other than mingw-w64 compilers.
>
> I see. That's because mingw (not -w64).
> Should it be ok if mingw is ok with that condition?
This really breaks mingw gcc 4.6.1 :( it does not have crtdefs.h)
If moving downward do not break MSVC, perhaps its the good way.
Otherwise, we might check for the presence of crtdefs.h with configure?