summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Path.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2018-05-16 18:25:51 +0000
committerGreg Clayton <gclayton@apple.com>2018-05-16 18:25:51 +0000
commitb24957e22a965535d34f8f987c8b4b6ccfcd5f69 (patch)
treeda5575659e2ca836f87fe248359bb7bc1016c321 /llvm/lib/Support/Path.cpp
parentd63396097d57b5d89c3f66b11bd427033a9c5e33 (diff)
downloadbcm5719-llvm-b24957e22a965535d34f8f987c8b4b6ccfcd5f69.tar.gz
bcm5719-llvm-b24957e22a965535d34f8f987c8b4b6ccfcd5f69.zip
Fix llvm::sys::path::remove_dots() to return "." instead of an empty path.
Differential Revision: https://reviews.llvm.org/D46887 llvm-svn: 332508
Diffstat (limited to 'llvm/lib/Support/Path.cpp')
-rw-r--r--llvm/lib/Support/Path.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Support/Path.cpp b/llvm/lib/Support/Path.cpp
index ff41dd47c42..dfe9f470bab 100644
--- a/llvm/lib/Support/Path.cpp
+++ b/llvm/lib/Support/Path.cpp
@@ -726,6 +726,10 @@ static SmallString<256> remove_dots(StringRef path, bool remove_dot_dot,
SmallString<256> buffer = path::root_path(path, style);
for (StringRef C : components)
path::append(buffer, style, C);
+ // If the buffer is empty, then return ".". Many other path utilities
+ // do this so it seems to be an expected result.
+ if (buffer.empty())
+ buffer.append(1, '.');
return buffer;
}
OpenPOWER on IntegriCloud