OSDN Git Service

Revert 332508 as it caused problems in the clang test suite.
authorGreg Clayton <gclayton@apple.com>
Wed, 16 May 2018 23:29:36 +0000 (23:29 +0000)
committerGreg Clayton <gclayton@apple.com>
Wed, 16 May 2018 23:29:36 +0000 (23:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332555 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Path.cpp
unittests/Support/Path.cpp

index dfe9f47..ff41dd4 100644 (file)
@@ -726,10 +726,6 @@ 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;
 }
 
index 1efa771..e91f760 100644 (file)
@@ -1146,7 +1146,7 @@ static std::string remove_dots(StringRef path, bool remove_dot_dot,
 TEST(Support, RemoveDots) {
   EXPECT_EQ("foolz\\wat",
             remove_dots(".\\.\\\\foolz\\wat", false, path::Style::windows));
-  EXPECT_EQ(".", remove_dots(".\\\\\\\\\\", false, path::Style::windows));
+  EXPECT_EQ("", remove_dots(".\\\\\\\\\\", false, path::Style::windows));
 
   EXPECT_EQ("a\\..\\b\\c",
             remove_dots(".\\a\\..\\b\\c", false, path::Style::windows));
@@ -1163,8 +1163,7 @@ TEST(Support, RemoveDots) {
 
   EXPECT_EQ("foolz/wat",
             remove_dots("././/foolz/wat", false, path::Style::posix));
-  EXPECT_EQ(".", remove_dots("./////", false, path::Style::posix));
-  EXPECT_EQ(".", remove_dots("", false, path::Style::posix));
+  EXPECT_EQ("", remove_dots("./////", false, path::Style::posix));
 
   EXPECT_EQ("a/../b/c", remove_dots("./a/../b/c", false, path::Style::posix));
   EXPECT_EQ("b/c", remove_dots("./a/../b/c", true, path::Style::posix));