diff options
author | Jan Svoboda <jan_svoboda@apple.com> | 2025-05-19 12:52:56 -0700 |
---|---|---|
committer | Jan Svoboda <jan_svoboda@apple.com> | 2025-05-19 12:57:54 -0700 |
commit | 72b2219b3e2319e29831e4e9b07c440444f3add6 (patch) | |
tree | 642d37b95354df419c9e19630c583a5ce268849b /clang/lib/Serialization/ModuleCache.cpp | |
parent | 10d198b32cd0b6aaeeaf1a6217611797c01f47f7 (diff) | |
download | llvm-72b2219b3e2319e29831e4e9b07c440444f3add6.zip llvm-72b2219b3e2319e29831e4e9b07c440444f3add6.tar.gz llvm-72b2219b3e2319e29831e4e9b07c440444f3add6.tar.bz2 |
Revert "[clang][modules] Timestamp-less validation API (#139987)"
This reverts commit 7a242387c950c7060143da6da0e6fb91f36bb458. Even after 175f8a44, the Modules/fmodules-validate-once-per-build-session.c test is not fixed on the clang-armv8-quick build bot. (Failure occurs on line 114.)
Diffstat (limited to 'clang/lib/Serialization/ModuleCache.cpp')
-rw-r--r-- | clang/lib/Serialization/ModuleCache.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/clang/lib/Serialization/ModuleCache.cpp b/clang/lib/Serialization/ModuleCache.cpp index 43f8ff8..4ae49c4 100644 --- a/clang/lib/Serialization/ModuleCache.cpp +++ b/clang/lib/Serialization/ModuleCache.cpp @@ -20,12 +20,7 @@ namespace { class CrossProcessModuleCache : public ModuleCache { InMemoryModuleCache InMemory; - std::time_t BuildSessionTimestamp; - public: - explicit CrossProcessModuleCache(std::time_t BuildSessionTimestamp) - : BuildSessionTimestamp(BuildSessionTimestamp) {} - void prepareForGetLock(StringRef ModuleFilename) override { // FIXME: Do this in LockFileManager and only if the directory doesn't // exist. @@ -38,17 +33,16 @@ public: return std::make_unique<llvm::LockFileManager>(ModuleFilename); } - bool isMarkedUpToDate(StringRef ModuleFilename) override { + std::time_t getModuleTimestamp(StringRef ModuleFilename) override { std::string TimestampFilename = serialization::ModuleFile::getTimestampFilename(ModuleFilename); llvm::sys::fs::file_status Status; if (llvm::sys::fs::status(ModuleFilename, Status) != std::error_code{}) - return false; - return llvm::sys::toTimeT(Status.getLastModificationTime()) > - BuildSessionTimestamp; + return 0; + return llvm::sys::toTimeT(Status.getLastModificationTime()); } - void markUpToDate(StringRef ModuleFilename) override { + void updateModuleTimestamp(StringRef ModuleFilename) override { // Overwrite the timestamp file contents so that file's mtime changes. std::error_code EC; llvm::raw_fd_ostream OS( @@ -68,8 +62,6 @@ public: }; } // namespace -IntrusiveRefCntPtr<ModuleCache> -clang::createCrossProcessModuleCache(std::time_t BuildSessionTimestamp) { - return llvm::makeIntrusiveRefCnt<CrossProcessModuleCache>( - BuildSessionTimestamp); +IntrusiveRefCntPtr<ModuleCache> clang::createCrossProcessModuleCache() { + return llvm::makeIntrusiveRefCnt<CrossProcessModuleCache>(); } |