From 2fa25706ed4bfd4184e15f38657636ff94e35745 Mon Sep 17 00:00:00 2001 From: Martell Malone Date: Wed, 29 Nov 2017 06:51:27 +0000 Subject: 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 --- clang/lib/Driver/ToolChains/Clang.cpp | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) (limited to 'clang/lib/Driver/ToolChains/Clang.cpp') 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, -- cgit v1.2.3