diff options
author | Tor Egge <Tor.Egge@yahooinc.com> | 2023-09-29 19:03:53 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahooinc.com> | 2023-09-29 19:03:53 +0200 |
commit | 3a65fb5baaa04e5212759a1600c537075c8f0f36 (patch) | |
tree | 50c5621268da781457c192d13bd245e65289a0d5 /build_settings.cmake | |
parent | 13db8a3ad2408aa1b4841b45de01e987b9244f5d (diff) |
Disable dynamic_cast optimization that was added in clang 17.
Diffstat (limited to 'build_settings.cmake')
-rw-r--r-- | build_settings.cmake | 4 |
1 files changed, 4 insertions, 0 deletions
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) |