aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorFilipe Cabecinhas <me@filcab.net>2015-03-20 23:51:15 +0000
committerFilipe Cabecinhas <me@filcab.net>2015-03-20 23:51:15 +0000
commitc473255110f591dc9fe309e1ea134469a95c7e16 (patch)
treeb183d0bcd98e21b4b080a73ecbf06a086c11e5b3 /clang/lib/Driver/Tools.cpp
parent37d5add8a33d4b0868ace2e057a28c0e6dce3704 (diff)
downloadllvm-c473255110f591dc9fe309e1ea134469a95c7e16.zip
llvm-c473255110f591dc9fe309e1ea134469a95c7e16.tar.gz
llvm-c473255110f591dc9fe309e1ea134469a95c7e16.tar.bz2
Only add -fno-rtti if KernelOrKext or in C++ mode.
llvm-svn: 232869
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 94c71ac..0f44ce7 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -4050,8 +4050,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
ToolChain::RTTIMode RTTIMode = getToolChain().getRTTIMode();
- if (RTTIMode == ToolChain::RM_DisabledExplicitly ||
- RTTIMode == ToolChain::RM_DisabledImplicitly)
+ if (KernelOrKext || (types::isCXX(InputType) &&
+ (RTTIMode == ToolChain::RM_DisabledExplicitly ||
+ RTTIMode == ToolChain::RM_DisabledImplicitly)))
CmdArgs.push_back("-fno-rtti");
// -fshort-enums=0 is default for all architectures except Hexagon.