summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Object/Archive.cpp5
-rw-r--r--llvm/lib/Support/Path.cpp3
-rw-r--r--llvm/tools/lli/lli.cpp3
3 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp
index d4821196a6c..a1e5eb27689 100644
--- a/llvm/lib/Object/Archive.cpp
+++ b/llvm/lib/Object/Archive.cpp
@@ -122,9 +122,8 @@ ErrorOr<StringRef> Archive::Child::getBuffer() const {
ErrorOr<StringRef> Name = getName();
if (std::error_code EC = Name.getError())
return EC;
- SmallString<128> FullName =
- Parent->getMemoryBufferRef().getBufferIdentifier();
- sys::path::remove_filename(FullName);
+ SmallString<128> FullName = sys::path::parent_path(
+ Parent->getMemoryBufferRef().getBufferIdentifier());
sys::path::append(FullName, *Name);
ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile(FullName);
if (std::error_code EC = Buf.getError())
diff --git a/llvm/lib/Support/Path.cpp b/llvm/lib/Support/Path.cpp
index cf467381db8..75fd292e5b1 100644
--- a/llvm/lib/Support/Path.cpp
+++ b/llvm/lib/Support/Path.cpp
@@ -889,8 +889,7 @@ std::error_code is_other(const Twine &Path, bool &Result) {
}
void directory_entry::replace_filename(const Twine &filename, file_status st) {
- SmallString<128> path(Path.begin(), Path.end());
- path::remove_filename(path);
+ SmallString<128> path = path::parent_path(Path);
path::append(path, filename);
Path = path.str();
Status = st;
diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp
index 057841f0ad6..949b444cc28 100644
--- a/llvm/tools/lli/lli.cpp
+++ b/llvm/tools/lli/lli.cpp
@@ -262,8 +262,7 @@ public:
if (!getCacheFilename(ModuleID, CacheName))
return;
if (!CacheDir.empty()) { // Create user-defined cache dir.
- SmallString<128> dir(CacheName);
- sys::path::remove_filename(dir);
+ SmallString<128> dir(sys::path::parent_path(CacheName));
sys::fs::create_directories(Twine(dir));
}
std::error_code EC;
OpenPOWER on IntegriCloud