@@ -493,11 +493,8 @@ bool ClangImporter::addHeaderDependencies(
493
493
auto dependencies = clangScanningTool.getTranslationUnitDependencies (
494
494
commandLineArgs, workingDir, cache.getAlreadySeenClangModules (),
495
495
lookupModuleOutput);
496
- if (!dependencies) {
497
- // FIXME: Route this to a normal diagnostic.
498
- llvm::logAllUnhandledErrors (dependencies.takeError (), llvm::errs ());
496
+ if (!dependencies)
499
497
return dependencies.takeError ();
500
- }
501
498
502
499
// Record module dependencies for each new module we found.
503
500
auto bridgedDeps = bridgeClangModuleDependencies (
@@ -527,8 +524,15 @@ bool ClangImporter::addHeaderDependencies(
527
524
!targetModule.getBridgingHeader ()->empty ()) {
528
525
auto clangModuleDependencies =
529
526
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" );
531
534
return true ;
535
+ }
532
536
if (auto TreeID = clangModuleDependencies->IncludeTreeID )
533
537
targetModule.addBridgingHeaderIncludeTree (*TreeID);
534
538
recordBridgingHeaderOptions (targetModule, *clangModuleDependencies);
0 commit comments