Merge pull request #69706 from artemcm/DepScanCPPInterop

[Explicit Module Builds] C++ Interoperability mode fixes
This commit is contained in:
Artem Chikin
2024-05-20 20:29:17 -04:00
committed by GitHub
18 changed files with 160 additions and 32 deletions

View File

@@ -506,6 +506,9 @@ validateCxxInteropCompatibilityMode(StringRef mode) {
// Swift 5 is the default language version.
if (mode == "swift-5.9")
return {CxxCompatMode::enabled, version::Version({5})};
// Note: If this is updated, corresponding code in
// InterfaceSubContextDelegateImpl::InterfaceSubContextDelegateImpl needs
// to be updated also.
return {CxxCompatMode::invalid, {}};
}
@@ -634,6 +637,9 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.DisableImplicitStringProcessingModuleImport |=
Args.hasArg(OPT_disable_implicit_string_processing_module_import);
Opts.DisableImplicitCxxModuleImport |=
Args.hasArg(OPT_disable_implicit_cxx_module_import);
Opts.DisableImplicitBacktracingModuleImport =
Args.hasFlag(OPT_disable_implicit_backtracing_module_import,
OPT_enable_implicit_backtracing_module_import,