File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -2445,10 +2445,14 @@ ModuleDecl *ClangImporter::Implementation::finishLoadingClangModule(
24452445 if (auto moduleRef = clangModule->getASTFile ()) {
24462446 auto *moduleFile = Instance->getASTReader ()->getModuleManager ().lookup (
24472447 *moduleRef);
2448+ llvm::SmallString<0 > pathBuf;
2449+ pathBuf.reserve (256 );
24482450 Instance->getASTReader ()->visitInputFileInfos (
24492451 *moduleFile, /* IncludeSystem=*/ true ,
24502452 [&](const clang::serialization::InputFileInfo &IFI, bool isSystem) {
2451- SwiftDependencyTracker->addDependency (IFI.Filename , isSystem);
2453+ auto Filename = clang::ASTReader::ResolveImportedPath (
2454+ pathBuf, IFI.UnresolvedImportedFilename , *moduleFile);
2455+ SwiftDependencyTracker->addDependency (*Filename, isSystem);
24522456 });
24532457 }
24542458 }
Original file line number Diff line number Diff line change @@ -172,9 +172,8 @@ ModuleDependencyVector ClangImporter::bridgeClangModuleDependencies(
172172 for (auto &clangModuleDep : clangDependencies) {
173173 // File dependencies for this module.
174174 std::vector<std::string> fileDeps;
175- for (const auto &fileDep : clangModuleDep.FileDeps ) {
176- fileDeps.push_back (fileDep.getKey ().str ());
177- }
175+ clangModuleDep.forEachFileDep (
176+ [&fileDeps](StringRef fileDep) { fileDeps.emplace_back (fileDep); });
178177
179178 std::vector<std::string> swiftArgs;
180179 auto addClangArg = [&](Twine arg) {
You can’t perform that action at this time.
0 commit comments