@@ -395,7 +395,8 @@ std::error_code SerializedModuleLoaderBase::openModuleFile(
395395SerializedModuleLoaderBase::BinaryModuleImports
396396SerializedModuleLoaderBase::getImportsOfModule (
397397 const ModuleFileSharedCore &loadedModuleFile,
398- ModuleLoadingBehavior transitiveBehavior, StringRef packageName) {
398+ ModuleLoadingBehavior transitiveBehavior, StringRef packageName,
399+ bool isTestableImport) {
399400 llvm::StringSet<> importedModuleNames;
400401 std::string importedHeader = " " ;
401402 for (const auto &dependency : loadedModuleFile.getDependencies ()) {
@@ -410,8 +411,7 @@ SerializedModuleLoaderBase::getImportsOfModule(
410411 loadedModuleFile.getTransitiveLoadingBehavior (
411412 dependency,
412413 /* debuggerMode*/ false ,
413- /* isPartialModule*/ false , packageName,
414- loadedModuleFile.isTestable ());
414+ /* isPartialModule*/ false , packageName, isTestableImport);
415415 if (dependencyTransitiveBehavior > transitiveBehavior)
416416 continue ;
417417
@@ -454,13 +454,6 @@ SerializedModuleLoaderBase::scanModuleFile(Twine modulePath, bool isFramework,
454454 modulePath.str ());
455455 return std::make_error_code (std::errc::no_such_file_or_directory);
456456 }
457-
458- if (loadedModuleFile->isTestable () && !isTestableImport) {
459- if (Ctx.LangOpts .EnableModuleLoadingRemarks )
460- Ctx.Diags .diagnose (SourceLoc (), diag::skip_module_testable,
461- modulePath.str ());
462- return std::make_error_code (std::errc::no_such_file_or_directory);
463- }
464457 }
465458
466459 // Some transitive dependencies of binary modules are not required to be
@@ -471,12 +464,12 @@ SerializedModuleLoaderBase::scanModuleFile(Twine modulePath, bool isFramework,
471464 // optional.
472465 auto binaryModuleImports =
473466 getImportsOfModule (*loadedModuleFile, ModuleLoadingBehavior::Required,
474- Ctx.LangOpts .PackageName );
467+ Ctx.LangOpts .PackageName , isTestableImport );
475468
476469 // Lookup optional imports of this module also
477470 auto binaryModuleOptionalImports =
478471 getImportsOfModule (*loadedModuleFile, ModuleLoadingBehavior::Optional,
479- Ctx.LangOpts .PackageName );
472+ Ctx.LangOpts .PackageName , isTestableImport );
480473
481474 auto importedModuleSet = binaryModuleImports.moduleImports ;
482475 std::vector<std::string> importedModuleNames;
0 commit comments