diff --git a/include/swift/Basic/LangOptions.h b/include/swift/Basic/LangOptions.h index 979f8d2cf3166..a4e4ccefd6474 100644 --- a/include/swift/Basic/LangOptions.h +++ b/include/swift/Basic/LangOptions.h @@ -828,7 +828,7 @@ namespace swift { bool DisableOverlayModules = false; /// When set, import SPI_AVAILABLE symbols with Swift SPI attribtues. - bool EnableClangSPI = false; + bool EnableClangSPI = true; /// When set, don't enforce warnings with -Werror. bool DebuggerSupport = false; diff --git a/include/swift/Option/FrontendOptions.td b/include/swift/Option/FrontendOptions.td index 919ee4413d0ae..98a2c8280600b 100644 --- a/include/swift/Option/FrontendOptions.td +++ b/include/swift/Option/FrontendOptions.td @@ -142,9 +142,9 @@ def disable_testable_attr_requires_testable_module : Flag<["-"], "disable-testable-attr-requires-testable-module">, HelpText<"Disable checking of @testable">; -def enable_clang_spi : - Flag<["-"], "enable-clang-spi">, - HelpText<"Import Clang SPIs as Swift SPIs">; +def disable_clang_spi : + Flag<["-"], "disable-clang-spi">, + HelpText<"Don't import Clang SPIs as Swift SPIs">; def enable_target_os_checking : Flag<["-"], "enable-target-os-checking">, diff --git a/lib/ClangImporter/ImportDecl.cpp b/lib/ClangImporter/ImportDecl.cpp index 0e4ac22ab00c6..0e9d3843263ad 100644 --- a/lib/ClangImporter/ImportDecl.cpp +++ b/lib/ClangImporter/ImportDecl.cpp @@ -9069,7 +9069,7 @@ void ClangImporter::Implementation::importAttributes( obsoleted, /*ObsoletedRange=*/SourceRange(), PlatformAgnostic, /*Implicit=*/false, - IsSPI); + EnableClangSPI && IsSPI); MappedDecl->getAttrs().add(AvAttr); } diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index c133d42bb615e..257bac3674c91 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -1194,7 +1194,7 @@ static bool ParseClangImporterArgs(ClangImporterOptions &Opts, Opts.DisableOverlayModules |= Args.hasArg(OPT_emit_imported_modules); - Opts.EnableClangSPI |= Args.hasArg(OPT_enable_clang_spi); + Opts.EnableClangSPI = !Args.hasArg(OPT_disable_clang_spi); Opts.ExtraArgsOnly |= Args.hasArg(OPT_extra_clang_options_only);