Skip to content

Commit 7b58eb5

Browse files
committed
[Support] Make building with snmalloc work
Differential revision: https://reviews.llvm.org/D87471
1 parent c1f2fb5 commit 7b58eb5

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

llvm/lib/Support/CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ if(LLVM_INTEGRATED_CRT_ALLOC)
6565
add_definitions(-DENABLE_OVERRIDE -DENABLE_PRELOAD)
6666
set(ALLOCATOR_FILES "${LLVM_INTEGRATED_CRT_ALLOC}/rpmalloc/rpmalloc.c")
6767
elseif(LLVM_INTEGRATED_CRT_ALLOC MATCHES "snmalloc$")
68-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17" PARENT_SCOPE)
6968
set(ALLOCATOR_FILES "${LLVM_INTEGRATED_CRT_ALLOC}/src/override/malloc.cc" "${LLVM_INTEGRATED_CRT_ALLOC}/src/override/new.cc")
7069
set(system_libs ${system_libs} "mincore.lib" "-INCLUDE:malloc")
7170
elseif(LLVM_INTEGRATED_CRT_ALLOC MATCHES "mimalloc$")
@@ -249,6 +248,18 @@ endif()
249248

250249
set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${llvm_system_libs}")
251250

251+
252+
if(LLVM_INTEGRATED_CRT_ALLOC)
253+
if(LLVM_INTEGRATED_CRT_ALLOC MATCHES "snmalloc$")
254+
set_property(TARGET LLVMSupport PROPERTY CXX_STANDARD 17)
255+
add_definitions(-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING)
256+
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND
257+
"${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64")
258+
set_property(TARGET LLVMSupport PROPERTY COMPILE_FLAGS "-mcx16")
259+
endif()
260+
endif()
261+
endif()
262+
252263
if(LLVM_WITH_Z3)
253264
target_include_directories(LLVMSupport SYSTEM
254265
PRIVATE

0 commit comments

Comments
 (0)