summaryrefslogtreecommitdiff
path: root/lib/LTO/Caching.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LTO/Caching.cpp')
-rw-r--r--lib/LTO/Caching.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/LTO/Caching.cpp b/lib/LTO/Caching.cpp
index 98360f7e9e9..1708ab4c5c7 100644
--- a/lib/LTO/Caching.cpp
+++ b/lib/LTO/Caching.cpp
@@ -66,15 +66,17 @@ Expected<NativeObjectCache> lto::localCache(StringRef CacheDirectoryPath,
// Open the file first to avoid racing with a cache pruner.
ErrorOr<std::unique_ptr<MemoryBuffer>> MBOrErr =
MemoryBuffer::getFile(TempFilename);
+ if (!MBOrErr)
+ report_fatal_error(Twine("Failed to open new cache file ") +
+ TempFilename + ": " +
+ MBOrErr.getError().message() + "\n");
// This is atomic on POSIX systems.
if (auto EC = sys::fs::rename(TempFilename, EntryPath))
report_fatal_error(Twine("Failed to rename temporary file ") +
- TempFilename + ": " + EC.message() + "\n");
+ TempFilename + " to " + EntryPath + ": " +
+ EC.message() + "\n");
- if (!MBOrErr)
- report_fatal_error(Twine("Failed to open cache file ") + EntryPath +
- ": " + MBOrErr.getError().message() + "\n");
AddBuffer(Task, std::move(*MBOrErr), EntryPath);
}
};