File tree Expand file tree Collapse file tree 2 files changed +15
-12
lines changed
Expand file tree Collapse file tree 2 files changed +15
-12
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,18 @@ function(get_subproject_title outvar)
1919 endif ()
2020endfunction (get_subproject_title)
2121
22+ # Determine required flags to enable/disable RTTI.
23+ set (LLVM_CXXFLAGS_RTTI_DISABLE "" )
24+ set (LLVM_CXXFLAGS_RTTI_ENABLE "" )
25+ if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
26+ set (LLVM_CXXFLAGS_RTTI_DISABLE "-fno-rtti" )
27+ elseif (MSVC )
28+ set (LLVM_CXXFLAGS_RTTI_DISABLE "/GR-" )
29+ set (LLVM_CXXFLAGS_RTTI_ENABLE "/GR" )
30+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "XL" )
31+ set (LLVM_CXXFLAGS_RTTI_DISABLE "-qnortti" )
32+ endif ()
33+
2234function (llvm_update_compile_flags name )
2335 set (LLVM_COMPILE_CXXFLAGS "" )
2436
Original file line number Diff line number Diff line change @@ -1162,22 +1162,13 @@ elseif(MSVC)
11621162 endif ()
11631163endif ()
11641164
1165- # llvm_update_compile_flags adds one of these to each target.
1166- set (LLVM_CXXFLAGS_RTTI_DISABLE "" )
1167- set (LLVM_CXXFLAGS_RTTI_ENABLE "" )
1168- if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
1169- set (LLVM_CXXFLAGS_RTTI_DISABLE "-fno-rtti" )
1170- elseif (MSVC )
1165+ if (MSVC )
11711166 # Remove flags here, for exceptions and RTTI.
11721167 # Each target property or source property should be responsible to control
1173- # them.
1174- # CL.EXE complains to override flags like "/GR /GR-".
1168+ # them (see llvm_update_compile_flags) .
1169+ # CL.EXE complains to override flags like "/GR /GR-". CMake adds them by default.
11751170 string (REGEX REPLACE "(^| ) */EH[-cs]+ *( |$)" "\\ 1 \\ 2" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} " )
11761171 string (REGEX REPLACE "(^| ) */GR-? *( |$)" "\\ 1 \\ 2" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} " )
1177- set (LLVM_CXXFLAGS_RTTI_DISABLE "/GR-" )
1178- set (LLVM_CXXFLAGS_RTTI_ENABLE "/GR" )
1179- elseif (CMAKE_CXXCOMPILER_ID MATCHES "XL" )
1180- set (LLVM_CXXFLAGS_RTTI_DISABLE "-qnortti" )
11811172endif ()
11821173
11831174# Provide public options to globally control RTTI and EH
You can’t perform that action at this time.
0 commit comments