bruno created this revision. _LIBCPP_MSVCRT is defined because _WIN32 is defined and __MINGW32__ is not.
Some non-windows targets using MS extensions define _WIN32 for compatibility with Windows but do not have MSVC compatibility. This patch is an attempt to do not have _LIBCPP_MSVCRT defined for such targets, allowing libcxx to build. This patch seems the natural way to go for me, but others more experienced here might have additional suggestions? https://reviews.llvm.org/D34588 Files: include/__config Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -229,9 +229,12 @@ # define _LIBCPP_SHORT_WCHAR 1 // Both MinGW and native MSVC provide a "MSVC"-like enviroment # define _LIBCPP_MSVCRT_LIKE -// If mingw not explicitly detected, assume using MS C runtime only. +// If mingw not explicitly detected, assume using MS C runtime only if +// a MS compatibility version is specified. # ifndef __MINGW32__ -# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library +# ifdef _MSC_VER +# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library +# endif # endif # if (defined(_M_AMD64) || defined(__x86_64__)) || (defined(_M_ARM) || defined(__arm__)) # define _LIBCPP_HAS_BITSCAN64
Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -229,9 +229,12 @@ # define _LIBCPP_SHORT_WCHAR 1 // Both MinGW and native MSVC provide a "MSVC"-like enviroment # define _LIBCPP_MSVCRT_LIKE -// If mingw not explicitly detected, assume using MS C runtime only. +// If mingw not explicitly detected, assume using MS C runtime only if +// a MS compatibility version is specified. # ifndef __MINGW32__ -# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library +# ifdef _MSC_VER +# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library +# endif # endif # if (defined(_M_AMD64) || defined(__x86_64__)) || (defined(_M_ARM) || defined(__arm__)) # define _LIBCPP_HAS_BITSCAN64
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits