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
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 1c90c6e..d96664c 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -4166,33 +4166,9 @@
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,