summaryrefslogtreecommitdiff
path: root/tools/lli
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-01-10 10:38:34 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-01-10 10:38:34 +0000
commit32712c76144a84e507d0b8484f3127323786ceef (patch)
tree3b97e785dd69d4faa03855176bbd572ef04b0b78 /tools/lli
parent9f456a94514f4edfc398ea4cfb12ab4b4746c0bb (diff)
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
Diffstat (limited to 'tools/lli')
-rw-r--r--tools/lli/lli.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index c90cc87a175..963e93e2bf1 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -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();