Skip to content

Commit 9ae7065

Browse files
authored
Merge pull request #71991 from artemcm/ExplicitModulesDefaultCache
[Dependency Scanning] Fallback on system default cache directory when no explicit cache path is specified by the user
2 parents 1f115ad + 8c53fe8 commit 9ae7065

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

lib/DependencyScan/ScanDependencies.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,7 +1397,7 @@ static std::set<ModuleDependencyID> computeBridgingHeaderTransitiveDependencies(
13971397

13981398
static std::vector<ModuleDependencyID>
13991399
findClangDepPath(const ModuleDependencyID &from, const ModuleDependencyID &to,
1400-
ModuleDependenciesCache &cache) {
1400+
const ModuleDependenciesCache &cache) {
14011401
std::unordered_set<ModuleDependencyID> visited;
14021402
std::vector<ModuleDependencyID> result;
14031403
std::stack<ModuleDependencyID, std::vector<ModuleDependencyID>> stack;
@@ -1431,8 +1431,8 @@ findClangDepPath(const ModuleDependencyID &from, const ModuleDependencyID &to,
14311431
return result;
14321432
}
14331433

1434-
static bool diagnoseCycle(CompilerInstance &instance,
1435-
ModuleDependenciesCache &cache,
1434+
static bool diagnoseCycle(const CompilerInstance &instance,
1435+
const ModuleDependenciesCache &cache,
14361436
ModuleDependencyID mainId) {
14371437
ModuleDependencyIDSetVector openSet;
14381438
ModuleDependencyIDSetVector closeSet;

lib/Frontend/ArgsToFrontendOptionsConverter.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ bool ArgsToFrontendOptionsConverter::convert(
6666
}
6767
if (const Arg *A = Args.getLastArg(OPT_module_cache_path)) {
6868
Opts.ExplicitModulesOutputPath = A->getValue();
69+
} else {
70+
SmallString<128> defaultPath;
71+
llvm::sys::path::cache_directory(defaultPath);
72+
Opts.ExplicitModulesOutputPath = defaultPath.str().str();
6973
}
7074
if (const Arg *A = Args.getLastArg(OPT_backup_module_interface_path)) {
7175
Opts.BackupModuleInterfaceDir = A->getValue();

0 commit comments

Comments
 (0)