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(
2445
2445
if (auto moduleRef = clangModule->getASTFile ()) {
2446
2446
auto *moduleFile = Instance->getASTReader ()->getModuleManager ().lookup (
2447
2447
*moduleRef);
2448
+ llvm::SmallString<0 > pathBuf;
2449
+ pathBuf.reserve (256 );
2448
2450
Instance->getASTReader ()->visitInputFileInfos (
2449
2451
*moduleFile, /* IncludeSystem=*/ true ,
2450
2452
[&](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);
2452
2456
});
2453
2457
}
2454
2458
}
Original file line number Diff line number Diff line change @@ -172,9 +172,8 @@ ModuleDependencyVector ClangImporter::bridgeClangModuleDependencies(
172
172
for (auto &clangModuleDep : clangDependencies) {
173
173
// File dependencies for this module.
174
174
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); });
178
177
179
178
std::vector<std::string> swiftArgs;
180
179
auto addClangArg = [&](Twine arg) {
You can’t perform that action at this time.
0 commit comments