Author: Heejin Ahn Date: 2021-02-17T16:10:59-08:00 New Revision: 0b5d2b0efd3eb9a6c1d454a7fc50942e906f522c
URL: https://github.com/llvm/llvm-project/commit/0b5d2b0efd3eb9a6c1d454a7fc50942e906f522c DIFF: https://github.com/llvm/llvm-project/commit/0b5d2b0efd3eb9a6c1d454a7fc50942e906f522c.diff LOG: [WebAssembly] Remove dependency of reference types from EH The new spec does not have `exnref` so EH does not have dependency of the reference types proposal anymore. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D96903 Added: Modified: clang/lib/Driver/ToolChains/WebAssembly.cpp clang/test/Driver/wasm-toolchain.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/WebAssembly.cpp b/clang/lib/Driver/ToolChains/WebAssembly.cpp index 83a895b47142..8c4d99b8ad07 100644 --- a/clang/lib/Driver/ToolChains/WebAssembly.cpp +++ b/clang/lib/Driver/ToolChains/WebAssembly.cpp @@ -282,12 +282,6 @@ void WebAssembly::addClangTargetOptions(const ArgList &DriverArgs, getDriver().Diag(diag::err_drv_argument_not_allowed_with) << "-fwasm-exceptions" << "-mno-exception-handling"; - // '-fwasm-exceptions' is not compatible with '-mno-reference-types' - if (DriverArgs.hasFlag(options::OPT_mno_reference_types, - options::OPT_mexception_handing, false)) - getDriver().Diag(diag::err_drv_argument_not_allowed_with) - << "-fwasm-exceptions" - << "-mno-reference-types"; // '-fwasm-exceptions' is not compatible with // '-mllvm -enable-emscripten-cxx-exceptions' for (const Arg *A : DriverArgs.filtered(options::OPT_mllvm)) { @@ -296,11 +290,9 @@ void WebAssembly::addClangTargetOptions(const ArgList &DriverArgs, << "-fwasm-exceptions" << "-mllvm -enable-emscripten-cxx-exceptions"; } - // '-fwasm-exceptions' implies exception-handling and reference-types + // '-fwasm-exceptions' implies exception-handling feature CC1Args.push_back("-target-feature"); CC1Args.push_back("+exception-handling"); - CC1Args.push_back("-target-feature"); - CC1Args.push_back("+reference-types"); } } diff --git a/clang/test/Driver/wasm-toolchain.c b/clang/test/Driver/wasm-toolchain.c index 3c2eb66f9e19..17037819cfda 100644 --- a/clang/test/Driver/wasm-toolchain.c +++ b/clang/test/Driver/wasm-toolchain.c @@ -79,11 +79,11 @@ // RUN: | FileCheck -check-prefix=PTHREAD_NO_SIGN_EXT %s // PTHREAD_NO_SIGN_EXT: invalid argument '-pthread' not allowed with '-mno-sign-ext' -// '-fwasm-exceptions' sets +exception-handling and +reference-types +// '-fwasm-exceptions' sets +exception-handling // RUN: %clang -### -no-canonical-prefixes -target wasm32-unknown-unknown \ // RUN: --sysroot=/foo %s -fwasm-exceptions 2>&1 \ // RUN: | FileCheck -check-prefix=WASM_EXCEPTIONS %s -// WASM_EXCEPTIONS: clang{{.*}}" "-cc1" {{.*}} "-target-feature" "+exception-handling" "-target-feature" "+reference-types" +// WASM_EXCEPTIONS: clang{{.*}}" "-cc1" {{.*}} "-target-feature" "+exception-handling" // '-fwasm-exceptions' not allowed with '-mno-exception-handling' // RUN: %clang -### -no-canonical-prefixes -target wasm32-unknown-unknown \ @@ -91,12 +91,6 @@ // RUN: | FileCheck -check-prefix=WASM_EXCEPTIONS_NO_EH %s // WASM_EXCEPTIONS_NO_EH: invalid argument '-fwasm-exceptions' not allowed with '-mno-exception-handling' -// '-fwasm-exceptions' not allowed with '-mno-reference-types' -// RUN: %clang -### -no-canonical-prefixes -target wasm32-unknown-unknown \ -// RUN: --sysroot=/foo %s -fwasm-exceptions -mno-reference-types 2>&1 \ -// RUN: | FileCheck -check-prefix=WASM_EXCEPTIONS_NO_REFTYPES %s -// WASM_EXCEPTIONS_NO_REFTYPES: invalid argument '-fwasm-exceptions' not allowed with '-mno-reference-types' - // '-fwasm-exceptions' not allowed with // '-mllvm -enable-emscripten-cxx-exceptions' // RUN: %clang -### -no-canonical-prefixes -target wasm32-unknown-unknown \ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits