[libcxx] r291329 - Add _LIBCPP_ABI_[ITANIUM|MICROSOFT] macros.
Eric Fiselier via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 6 18:43:58 PST 2017
Author: ericwf
Date: Fri Jan 6 20:43:58 2017
New Revision: 291329
URL: http://llvm.org/viewvc/llvm-project?rev=291329&view=rev
Log:
Add _LIBCPP_ABI_[ITANIUM|MICROSOFT] macros.
This patch adds a libc++ configuration macro for the ABI we
are targeting, either Itanium or Microsoft. For now we configure
for the Microsoft ABI when on Windows with a compiler that defines
_MSC_VER. However this is only temporary until Clang implements
builtin macros we can use.
Modified:
libcxx/trunk/include/__config
Modified: libcxx/trunk/include/__config
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=291329&r1=291328&r2=291329&view=diff
==============================================================================
--- libcxx/trunk/include/__config (original)
+++ libcxx/trunk/include/__config Fri Jan 6 20:43:58 2017
@@ -111,6 +111,15 @@
#define _LIBCPP_COMPILER_IBM
#endif
+// FIXME: ABI detection should be done via compiler builtin macros. This
+// is just a placeholder until Clang implements such macros. For now assume
+// that Windows compilers pretending to be MSVC++ target the microsoft ABI.
+#if defined(_WIN32) && defined(_MSC_VER)
+# define _LIBCPP_ABI_MICROSOFT
+#else
+# define _LIBCPP_ABI_ITANIUM
+#endif
+
// Need to detect which libc we're using if we're on Linux.
#if defined(__linux__)
#include <features.h>
More information about the cfe-commits
mailing list