BUG: Fix order of Windows OS detection macros. #24813
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #24762.
BUG: Fix order of Windows OS detection macros.
The order should be
__MINGW32__/__MINGW64__
, then_WIN64
, and then_WIN32
.64 bit MinGW compilers define
_MINGW32__
,__MINGW64__
,_WIN32
, and_WIN64
. 32 bit MinGW compilers define__MINGW32__
, and_WIN32
. 64 bit MSVC compilation defines_WIN32
and_WIN64
. 32 bit MSVC compilation defines_WIN32
.Fixes BUG: Order of OS detection macros (for Windows) seems faulty #24761.
Adjust the structure slightly and add comments.
_WIN32
), handle the possible known Windows environments separately.Remove check for non-standard macros.
WIN32
,__WIN32__
,WIN64
,__WIN64__
are not standard macros defined by Window compilers.It should be enough to check for
_WIN32
and_WIN64
alone.