Skip to content

Commit ec086e1

Browse files
authored
[ClangImporter] Fix build after LLVM #9573 (#77557)
1 parent b5bf217 commit ec086e1

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

lib/ClangImporter/ClangImporter.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff 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
}

lib/ClangImporter/ClangModuleDependencyScanner.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff 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) {

0 commit comments

Comments
 (0)