@@ -493,11 +493,8 @@ bool ClangImporter::addHeaderDependencies(
493493 auto dependencies = clangScanningTool.getTranslationUnitDependencies (
494494 commandLineArgs, workingDir, cache.getAlreadySeenClangModules (),
495495 lookupModuleOutput);
496- if (!dependencies) {
497- // FIXME: Route this to a normal diagnostic.
498- llvm::logAllUnhandledErrors (dependencies.takeError (), llvm::errs ());
496+ if (!dependencies)
499497 return dependencies.takeError ();
500- }
501498
502499 // Record module dependencies for each new module we found.
503500 auto bridgedDeps = bridgeClangModuleDependencies (
@@ -527,8 +524,15 @@ bool ClangImporter::addHeaderDependencies(
527524 !targetModule.getBridgingHeader ()->empty ()) {
528525 auto clangModuleDependencies =
529526 scanHeaderDependencies (*targetModule.getBridgingHeader ());
530- if (!clangModuleDependencies)
527+ if (!clangModuleDependencies) {
528+ // FIXME: Route this to a normal diagnostic.
529+ llvm::logAllUnhandledErrors (clangModuleDependencies.takeError (),
530+ llvm::errs ());
531+ Impl.SwiftContext .Diags .diagnose (
532+ SourceLoc (), diag::clang_dependency_scan_error,
533+ " failed to scan bridging header dependencies" );
531534 return true ;
535+ }
532536 if (auto TreeID = clangModuleDependencies->IncludeTreeID )
533537 targetModule.addBridgingHeaderIncludeTree (*TreeID);
534538 recordBridgingHeaderOptions (targetModule, *clangModuleDependencies);
0 commit comments