From ab76a19afb14a4f3330ebc33fddb89db6e7f6ef9 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 2 Mar 2017 02:02:38 +0000 Subject: LTO: When creating a local cache, create the cache directory if it does not already exist. Differential Revision: https://reviews.llvm.org/D30519 llvm-svn: 296726 --- llvm/lib/LTO/Caching.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'llvm/lib/LTO/Caching.cpp') diff --git a/llvm/lib/LTO/Caching.cpp b/llvm/lib/LTO/Caching.cpp index f635369df8d..fc898c49998 100644 --- a/llvm/lib/LTO/Caching.cpp +++ b/llvm/lib/LTO/Caching.cpp @@ -46,8 +46,11 @@ static void commitEntry(StringRef TempFilename, StringRef EntryPath) { } } -NativeObjectCache lto::localCache(StringRef CacheDirectoryPath, - AddFileFn AddFile) { +Expected lto::localCache(StringRef CacheDirectoryPath, + AddFileFn AddFile) { + if (std::error_code EC = sys::fs::create_directories(CacheDirectoryPath)) + return errorCodeToError(EC); + return [=](unsigned Task, StringRef Key) -> AddStreamFn { // First, see if we have a cache hit. SmallString<64> EntryPath; -- cgit v1.2.3