summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/Clang.cpp
diff options
context:
space:
mode:
authorMartell Malone <martellmalone@gmail.com>2017-11-29 06:51:27 +0000
committerMartell Malone <martellmalone@gmail.com>2017-11-29 06:51:27 +0000
commit2fa25706ed4bfd4184e15f38657636ff94e35745 (patch)
treee1fb3f2f2e4f3e17cee504da8d9c73ade56bdf5a /clang/lib/Driver/ToolChains/Clang.cpp
parent390cfcb0b1df73b7b2a13e02f63dff46e8fe09cd (diff)
downloadbcm5719-llvm-2fa25706ed4bfd4184e15f38657636ff94e35745.tar.gz
bcm5719-llvm-2fa25706ed4bfd4184e15f38657636ff94e35745.zip
Revert "Toolchain: Normalize dwarf, sjlj and seh eh"
This reverts rL319294. The windows sanitizer does not like seh on x86. Will re apply with None type for x86 llvm-svn: 319295
Diffstat (limited to 'clang/lib/Driver/ToolChains/Clang.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/Clang.cpp30
1 files changed, 3 insertions, 27 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 1c90c6e9225..d96664cf0be 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -4166,33 +4166,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
addExceptionArgs(Args, InputType, getToolChain(), KernelOrKext, Runtime,
CmdArgs);
- // Handle exception personalities
- Arg *A = Args.getLastArg(options::OPT_fsjlj_exceptions,
- options::OPT_fseh_exceptions,
- options::OPT_fdwarf_exceptions);
- if (A) {
- const Option &Opt = A->getOption();
- if (Opt.matches(options::OPT_fsjlj_exceptions))
- CmdArgs.push_back("-fsjlj-exceptions");
- if (Opt.matches(options::OPT_fseh_exceptions))
- CmdArgs.push_back("-fseh-exceptions");
- if (Opt.matches(options::OPT_fdwarf_exceptions))
- CmdArgs.push_back("-fdwarf-exceptions");
- } else {
- switch(getToolChain().GetExceptionModel(Args)) {
- default:
- break;
- case llvm::ExceptionHandling::DwarfCFI:
- CmdArgs.push_back("-fdwarf-exceptions");
- break;
- case llvm::ExceptionHandling::SjLj:
- CmdArgs.push_back("-fsjlj-exceptions");
- break;
- case llvm::ExceptionHandling::WinEH:
- CmdArgs.push_back("-fseh-exceptions");
- break;
- }
- }
+ if (Args.hasArg(options::OPT_fsjlj_exceptions) ||
+ getToolChain().UseSjLjExceptions(Args))
+ CmdArgs.push_back("-fsjlj-exceptions");
// C++ "sane" operator new.
if (!Args.hasFlag(options::OPT_fassume_sane_operator_new,
OpenPOWER on IntegriCloud