diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 316eafd68392a8bba77e275072cda70f5ad13c39..0e58487a906800a342b27224cc198e2620a2edaa 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -1613,6 +1613,8 @@ def ffixed_x18 : Flag<["-"], "ffixed-x18">, Group<m_aarch64_Features_Group>, def msimd128 : Flag<["-"], "msimd128">, Group<m_wasm_Features_Group>; def mno_simd128 : Flag<["-"], "mno-simd128">, Group<m_wasm_Features_Group>; +def mdirect : Flag<["-"], "mdirect">, Group<m_wasm_Features_Group>; +def mno_direct : Flag<["-"], "mno-direct">, Group<m_wasm_Features_Group>; def mamdgpu_debugger_abi : Joined<["-"], "mamdgpu-debugger-abi=">, Flags<[HelpHidden]>, diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 9a74cdf6f2ba1e3d8dcb0cce47ddb71a6b4ce138..8e026bf00ee89bababbb4758029b533c7bf6a147 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -8019,6 +8019,10 @@ private: SIMDLevel = std::min(SIMDLevel, SIMDEnum(SIMD128 - 1)); continue; } + if (Feature == "+direct") + continue; + if (Feature == "-direct") + continue; Diags.Report(diag::err_opt_not_valid_with_opt) << Feature << "-target-feature";