================ @@ -413,53 +422,11 @@ void WebAssembly::addClangTargetOptions(const ArgList &DriverArgs, } } - if (Opt.starts_with("-wasm-enable-sjlj")) { - // '-mllvm -wasm-enable-sjlj' is not compatible with - // '-mno-exception-handling' - if (DriverArgs.hasFlag(options::OPT_mno_exception_handing, - options::OPT_mexception_handing, false)) - getDriver().Diag(diag::err_drv_argument_not_allowed_with) - << "-mllvm -wasm-enable-sjlj" - << "-mno-exception-handling"; - // '-mllvm -wasm-enable-sjlj' is not compatible with - // '-mllvm -enable-emscripten-cxx-exceptions' - // because we don't allow Emscripten EH + Wasm SjLj - for (const Arg *A : DriverArgs.filtered(options::OPT_mllvm)) { - if (StringRef(A->getValue(0)) == "-enable-emscripten-cxx-exceptions") - getDriver().Diag(diag::err_drv_argument_not_allowed_with) - << "-mllvm -wasm-enable-sjlj" - << "-mllvm -enable-emscripten-cxx-exceptions"; + for (const auto *Option : {"-wasm-enable-eh", "-wasm-enable-sjlj"}) { ---------------- aheejin wrote:
We were not checking `-wasm-enable-eh` before because emscripten does not set it directly; it sets `-fwasm-exceptions`, which sets `-wasm-enable-eh`: https://github.com/llvm/llvm-project/blob/9c85cdec4ad29389c27cc2372d45f73d1ca8053a/clang/lib/Driver/ToolChains/WebAssembly.cpp#L365-L367 But this adds checks for it too for symmetry because it's not hard and users can in theory give that to clang too. https://github.com/llvm/llvm-project/pull/122466 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits