[PATCH] [libcxx] Distinguish between MSVC, MSVCRT, and Windows-specific code
Nico Rieck
nico.rieck at gmail.com
Thu Aug 1 05:23:10 PDT 2013
Currently _MSC_VER and _WIN32 are used to guard code which is
MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can
also define _MSC_VER, and MSVCRT is not necessarily the only C runtime,
these macros should not be used interchangeably.
This patch divides all Windows-related bits into the aforementioned
categories. Two new macros are introduced:
- _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using
_MSC_VER, excluding Clang.
- _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default
when _WIN32 is defined.
This leaves _WIN32 for code using the Windows API.
This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF.
http://llvm-reviews.chandlerc.com/D1256
Files:
include/__config
include/__locale
include/algorithm
include/cctype
include/cmath
include/cstdio
include/cstdlib
include/cstring
include/cwchar
include/limits
include/locale
include/string
include/support/win32/limits_win32.h
include/support/win32/math_win32.h
include/support/win32/support.h
include/type_traits
include/vector
src/locale.cpp
src/string.cpp
test/support/platform_support.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1256.1.patch
Type: text/x-patch
Size: 26247 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130801/4b3e4491/attachment.bin>
More information about the cfe-commits
mailing list