From 7a86e4ce7368bd0a5bd390a1155db7088c1778e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 5 Dec 2018 13:47:48 +0200 Subject: [PATCH] Define _LIBCPP_ABI_UNSTABLE manually when building libcxxabi This is set via a cmake option when building libcxx, but libcxxabi uses the raw libcxx headers from its include directory before they are installed. This fixes cases of inconsistent classes seen while compiling libcxxabi and libcxx. With potential future patches to clang to adjust how classes are exported with dllexport, this change is needed to avoid conflicts. --- build-libcxx.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-libcxx.sh b/build-libcxx.sh index a6bafd6..1def9e4 100755 --- a/build-libcxx.sh +++ b/build-libcxx.sh @@ -167,7 +167,7 @@ build_all() { -DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=OFF \ -DLLVM_NO_OLD_LIBSTDCXX=TRUE \ -DCXX_SUPPORTS_CXX11=TRUE \ - -DCMAKE_CXX_FLAGS="$LIBCXXABI_VISIBILITY_FLAGS -D_LIBCPP_HAS_THREAD_API_WIN32 -w" \ + -DCMAKE_CXX_FLAGS="$LIBCXXABI_VISIBILITY_FLAGS -D_LIBCPP_HAS_THREAD_API_WIN32 -D_LIBCPP_ABI_UNSTABLE -w" \ .. make -j$CORES cd ..