From 3a65fb5baaa04e5212759a1600c537075c8f0f36 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Fri, 29 Sep 2023 19:03:53 +0200 Subject: Disable dynamic_cast optimization that was added in clang 17. --- build_settings.cmake | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'build_settings.cmake') diff --git a/build_settings.cmake b/build_settings.cmake index fc4ba131969..9192f163a9b 100644 --- a/build_settings.cmake +++ b/build_settings.cmake @@ -115,6 +115,10 @@ endif() if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines") endif() +if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 17.0) + # Turn off dynamic_cast optimization that came with clang 17.0.1 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-assume-unique-vtables") +endif() if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGOOGLE_PROTOBUF_NO_RDTSC") if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0) -- cgit v1.2.3