gn build: Split no-RTTI flag into a config.

Some of the sanitizer runtime code needs to be built with RTTI;
this allows that code to opt in to RTTI.

Differential Revision: https://reviews.llvm.org/D56627

llvm-svn: 351155
This commit is contained in:
Peter Collingbourne 2019-01-15 02:43:33 +00:00
parent 9a11356137
commit 5ee45e0c93
2 changed files with 10 additions and 5 deletions

View File

@ -28,7 +28,6 @@ config("compiler_defaults") {
cflags_cc = [
"-std=c++11",
"-fno-exceptions",
"-fno-rtti",
"-fvisibility-inlines-hidden",
]
} else {
@ -52,10 +51,7 @@ config("compiler_defaults") {
"_UNICODE",
"UNICODE",
]
cflags += [
"/EHs-c-",
"/GR-",
]
cflags += [ "/EHs-c-" ]
# The MSVC default value (1 MB) is not enough for parsing recursive C++
# templates in Clang.
@ -110,6 +106,14 @@ config("compiler_defaults") {
}
}
config("no_rtti") {
if (current_os == "win") {
cflags_cc = [ "/GR-" ]
} else {
cflags_cc = [ "-fno-rtti" ]
}
}
config("llvm_code") {
include_dirs = [
"//llvm/include",

View File

@ -5,6 +5,7 @@
shared_binary_target_configs = [
"//llvm/utils/gn/build:compiler_defaults",
"//llvm/utils/gn/build:llvm_code",
"//llvm/utils/gn/build:no_rtti",
"//llvm/utils/gn/build:warn_covered_switch_default",
]