lli: LLIObjectCache: Use llvm::sys::path to get dirname.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198928 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
NAKAMURA Takumi 2014-01-10 10:38:34 +00:00
parent 9f456a9451
commit 32712c7614

View File

@ -268,8 +268,11 @@ public:
if (!getCacheFilename(ModuleID, CacheName))
return;
std::string errStr;
if (!CacheDir.empty()) // Create user-defined cache dir.
sys::fs::create_directories(CacheName.substr(0, CacheName.rfind('/')));
if (!CacheDir.empty()) { // Create user-defined cache dir.
SmallString<128> dir(CacheName);
sys::path::remove_filename(dir);
sys::fs::create_directories(Twine(dir));
}
raw_fd_ostream outfile(CacheName.c_str(), errStr, sys::fs::F_Binary);
outfile.write(Obj->getBufferStart(), Obj->getBufferSize());
outfile.close();