1515#include " clang/Tooling/DependencyScanning/InProcessModuleCache.h"
1616#include " llvm/ADT/BitmaskEnum.h"
1717#include " llvm/CAS/ActionCache.h"
18+ #include " llvm/Support/Chrono.h"
1819
1920namespace clang {
2021namespace tooling {
@@ -104,7 +105,9 @@ class DependencyScanningService {
104105 std::shared_ptr<llvm::cas::ActionCache> Cache,
105106 IntrusiveRefCntPtr<llvm::cas::CachingOnDiskFileSystem> SharedFS,
106107 ScanningOptimizations OptimizeArgs = ScanningOptimizations::Default,
107- bool EagerLoadModules = false , bool TraceVFS = false );
108+ bool EagerLoadModules = false , bool TraceVFS = false ,
109+ std::time_t BuildSessionTimestamp =
110+ llvm::sys::toTimeT (std::chrono::system_clock::now()));
108111
109112 ScanningMode getMode () const { return Mode; }
110113
@@ -131,7 +134,9 @@ class DependencyScanningService {
131134
132135 bool useCASFS () const { return (bool )SharedFS; }
133136
134- ModuleCacheMutexes &getModuleCacheMutexes () { return ModCacheMutexes; }
137+ ModuleCacheEntries &getModuleCacheEntries () { return ModCacheEntries; }
138+
139+ std::time_t getBuildSessionTimestamp () const { return BuildSessionTimestamp; }
135140
136141private:
137142 const ScanningMode Mode;
@@ -150,8 +155,10 @@ class DependencyScanningService {
150155 IntrusiveRefCntPtr<llvm::cas::CachingOnDiskFileSystem> SharedFS;
151156 // / The global file system cache.
152157 std::optional<DependencyScanningFilesystemSharedCache> SharedCache;
153- // / The global module cache mutexes.
154- ModuleCacheMutexes ModCacheMutexes;
158+ // / The global module cache entries.
159+ ModuleCacheEntries ModCacheEntries;
160+ // / The build session timestamp.
161+ std::time_t BuildSessionTimestamp;
155162};
156163
157164} // end namespace dependencies
0 commit comments