diff --git a/include/llvm/Support/PathV1.h b/include/llvm/Support/PathV1.h index 8c898b7140d..09ab041b072 100644 --- a/include/llvm/Support/PathV1.h +++ b/include/llvm/Support/PathV1.h @@ -200,11 +200,6 @@ namespace sys { /// @brief Determines if the path name is empty (invalid). bool isEmpty() const { return path.empty(); } - /// This function strips off the suffix of the path beginning with the - /// path separator ('/' on Unix, '\' on Windows) and returns the result. - LLVM_ATTRIBUTE_DEPRECATED(StringRef getDirname() const, - LLVM_PATH_DEPRECATED_MSG(path::parent_path)); - /// This function strips off the path and basename(up to and /// including the last dot) of the file or directory name and /// returns just the suffix. For example /a/foo.bar would cause diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp index 2e8223b6a17..b873b9ab4a0 100644 --- a/lib/Support/Path.cpp +++ b/lib/Support/Path.cpp @@ -91,46 +91,6 @@ bool Path::hasMagicNumber(StringRef Magic) const { return false; } -static StringRef getDirnameCharSep(StringRef path, const char *Sep) { - assert(Sep[0] != '\0' && Sep[1] == '\0' && - "Sep must be a 1-character string literal."); - if (path.empty()) - return "."; - - // If the path is all slashes, return a single slash. - // Otherwise, remove all trailing slashes. - - signed pos = static_cast(path.size()) - 1; - - while (pos >= 0 && path[pos] == Sep[0]) - --pos; - - if (pos < 0) - return path[0] == Sep[0] ? Sep : "."; - - // Any slashes left? - signed i = 0; - - while (i < pos && path[i] != Sep[0]) - ++i; - - if (i == pos) // No slashes? Return "." - return "."; - - // There is at least one slash left. Remove all trailing non-slashes. - while (pos >= 0 && path[pos] != Sep[0]) - --pos; - - // Remove any trailing slashes. - while (pos >= 0 && path[pos] == Sep[0]) - --pos; - - if (pos < 0) - return path[0] == Sep[0] ? Sep : "."; - - return path.substr(0, pos+1); -} - // Include the truly platform-specific parts of this class. #if defined(LLVM_ON_UNIX) #include "Unix/Path.inc" diff --git a/lib/Support/Unix/Path.inc b/lib/Support/Unix/Path.inc index a442b7f7ead..f154bf62d01 100644 --- a/lib/Support/Unix/Path.inc +++ b/lib/Support/Unix/Path.inc @@ -319,10 +319,6 @@ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) { } -StringRef Path::getDirname() const { - return getDirnameCharSep(path, "/"); -} - StringRef Path::getSuffix() const { // Find the last slash diff --git a/lib/Support/Windows/Path.inc b/lib/Support/Windows/Path.inc index 2b75e737bac..413aa94bd69 100644 --- a/lib/Support/Windows/Path.inc +++ b/lib/Support/Windows/Path.inc @@ -251,11 +251,6 @@ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) { // FIXME: the above set of functions don't map to Windows very well. - -StringRef Path::getDirname() const { - return getDirnameCharSep(path, "/"); -} - StringRef Path::getSuffix() const { // Find the last slash