]> granicus.if.org Git - llvm/commitdiff
gn build: Split no-RTTI flag into a config.
authorPeter Collingbourne <peter@pcc.me.uk>
Tue, 15 Jan 2019 02:43:33 +0000 (02:43 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Tue, 15 Jan 2019 02:43:33 +0000 (02:43 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351155 91177308-0d34-0410-b5e6-96231b3b80d8

utils/gn/build/BUILD.gn
utils/gn/build/BUILDCONFIG.gn

index 9222d31bdf43ebbc4cd97ea6e305bd7226af3475..2a8d818cbec672807e0afa1901b9e9f4b4bb6502 100644 (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",
index a46725c6d4a107e497be52a0f9b75fa64b302e19..721011699a3cdab272aba85951c5f7cb2b63129f 100644 (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",
 ]