[Lldb-commits] [lldb] r297609 - Fix Linux build for the FileSpec changes

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 13 02:46:15 PDT 2017


Author: labath
Date: Mon Mar 13 04:46:15 2017
New Revision: 297609

URL: http://llvm.org/viewvc/llvm-project?rev=297609&view=rev
Log:
Fix Linux build for the FileSpec changes

Propagate changes that were made during review, and fix a couple of
warnings while I'm in there.

Modified:
    lldb/trunk/source/Host/common/FileSpec.cpp
    lldb/trunk/source/Utility/TildeExpressionResolver.cpp
    lldb/trunk/unittests/Interpreter/TestCompletion.cpp

Modified: lldb/trunk/source/Host/common/FileSpec.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/FileSpec.cpp?rev=297609&r1=297608&r2=297609&view=diff
==============================================================================
--- lldb/trunk/source/Host/common/FileSpec.cpp (original)
+++ lldb/trunk/source/Host/common/FileSpec.cpp Mon Mar 13 04:46:15 2017
@@ -651,11 +651,8 @@ bool FileSpec::ResolvePath() {
   if (m_is_resolved)
     return true; // We have already resolved this path
 
-  char path_buf[PATH_MAX];
-  if (!GetPath(path_buf, PATH_MAX, false))
-    return false;
   // SetFile(...) will set m_is_resolved correctly if it can resolve the path
-  SetFile(path_buf, true);
+  SetFile(GetPath(false), true);
   return m_is_resolved;
 }
 
@@ -779,7 +776,7 @@ void FileSpec::EnumerateDirectory(llvm::
   for (; Iter != End && !EC; Iter.increment(EC)) {
     const auto &Item = *Iter;
     fs::file_status Status;
-    if (EC = Item.status(Status))
+    if ((EC = Item.status(Status)))
       break;
     if (!find_files && fs::is_regular_file(Status))
       continue;

Modified: lldb/trunk/source/Utility/TildeExpressionResolver.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Utility/TildeExpressionResolver.cpp?rev=297609&r1=297608&r2=297609&view=diff
==============================================================================
--- lldb/trunk/source/Utility/TildeExpressionResolver.cpp (original)
+++ lldb/trunk/source/Utility/TildeExpressionResolver.cpp Mon Mar 13 04:46:15 2017
@@ -62,7 +62,8 @@ bool StandardTildeExpressionResolver::Re
 
     Buffer.resize(1);
     Buffer.append(ThisName);
-    Buffer.append(path::get_separator()) Output.insert(Buffer);
+    Buffer.append(path::get_separator());
+    Output.insert(Buffer);
   }
 
   return true;

Modified: lldb/trunk/unittests/Interpreter/TestCompletion.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Interpreter/TestCompletion.cpp?rev=297609&r1=297608&r2=297609&view=diff
==============================================================================
--- lldb/trunk/unittests/Interpreter/TestCompletion.cpp (original)
+++ lldb/trunk/unittests/Interpreter/TestCompletion.cpp Mon Mar 13 04:46:15 2017
@@ -89,7 +89,7 @@ public:
     assert(Expr.empty() || Expr[0] == '~');
     Expr = Expr.drop_front();
 
-    SmallString<16> QualifiedName = "~";
+    SmallString<16> QualifiedName("~");
     for (const auto &User : UserDirectories) {
       if (!User.getKey().startswith(Expr))
         continue;
@@ -155,7 +155,7 @@ protected:
   }
 
   static bool HasEquivalentFile(const Twine &Path, const StringList &Paths) {
-    for (int I = 0; I < Paths.GetSize(); ++I) {
+    for (size_t I = 0; I < Paths.GetSize(); ++I) {
       if (fs::equivalent(Path, Paths[I]))
         return true;
     }
@@ -165,7 +165,7 @@ protected:
   static bool ContainsExactString(const Twine &Str, const StringList &Paths) {
     SmallString<16> Storage;
     StringRef Rendered = Str.toStringRef(Storage);
-    for (int I = 0; I < Paths.GetSize(); ++I) {
+    for (size_t I = 0; I < Paths.GetSize(); ++I) {
       if (Paths[I] == Rendered)
         return true;
     }
@@ -197,17 +197,20 @@ TEST_F(CompletionTest, DirCompletionAbso
   // by asserting an exact result count, and verifying against known
   // folders.
 
+  StandardTildeExpressionResolver Resolver;
   StringList Results;
   // When a directory is specified that doesn't end in a slash, it searches
   // for that directory, not items under it.
-  int Count = CommandCompletions::DiskDirectories2(BaseDir, Results);
-  ASSERT_EQ(1, Count);
+  size_t Count =
+      CommandCompletions::DiskDirectories(BaseDir, Results, Resolver);
+  ASSERT_EQ(1u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(BaseDir, Results));
 
   // When the same directory ends with a slash, it finds all children.
-  Count = CommandCompletions::DiskDirectories2(Twine(BaseDir) + "/", Results);
-  ASSERT_EQ(7, Count);
+  Count = CommandCompletions::DiskDirectories(Twine(BaseDir) + "/", Results,
+                                              Resolver);
+  ASSERT_EQ(7u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
   EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -219,9 +222,9 @@ TEST_F(CompletionTest, DirCompletionAbso
 
   // When a partial name matches, it returns all matches.  If it matches both
   // a full name AND some partial names, it returns all of them.
-  Count =
-      CommandCompletions::DiskDirectories2(Twine(BaseDir) + "/foo", Results);
-  ASSERT_EQ(4, Count);
+  Count = CommandCompletions::DiskDirectories(Twine(BaseDir) + "/foo", Results,
+                                              Resolver);
+  ASSERT_EQ(4u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
   EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -229,8 +232,9 @@ TEST_F(CompletionTest, DirCompletionAbso
   EXPECT_TRUE(HasEquivalentFile(DirFooC, Results));
 
   // If it matches only partial names, it still works as expected.
-  Count = CommandCompletions::DiskDirectories2(Twine(BaseDir) + "/b", Results);
-  ASSERT_EQ(2, Count);
+  Count = CommandCompletions::DiskDirectories(Twine(BaseDir) + "/b", Results,
+                                              Resolver);
+  ASSERT_EQ(2u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(DirBar, Results));
   EXPECT_TRUE(HasEquivalentFile(DirBaz, Results));
@@ -241,24 +245,28 @@ TEST_F(CompletionTest, FileCompletionAbs
   // all check this by asserting an exact result count, and verifying against
   // known folders.
 
+  StandardTildeExpressionResolver Resolver;
   StringList Results;
   // When an item is specified that doesn't end in a slash but exactly matches
   // one item, it returns that item.
-  int Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/fooa", Results);
-  ASSERT_EQ(1, Count);
+  size_t Count = CommandCompletions::DiskFiles(Twine(BaseDir) + "/fooa",
+                                               Results, Resolver);
+  ASSERT_EQ(1u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
 
   // The previous check verified a directory match.  But it should work for
   // files too.
-  Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/aa", Results);
-  ASSERT_EQ(1, Count);
+  Count =
+      CommandCompletions::DiskFiles(Twine(BaseDir) + "/aa", Results, Resolver);
+  ASSERT_EQ(1u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(FileAA, Results));
 
   // When it ends with a slash, it should find all files and directories.
-  Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/", Results);
-  ASSERT_EQ(13, Count);
+  Count =
+      CommandCompletions::DiskFiles(Twine(BaseDir) + "/", Results, Resolver);
+  ASSERT_EQ(13u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
   EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -276,8 +284,9 @@ TEST_F(CompletionTest, FileCompletionAbs
   EXPECT_TRUE(HasEquivalentFile(FileBaz, Results));
 
   // When a partial name matches, it returns all file & directory matches.
-  Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/foo", Results);
-  ASSERT_EQ(5, Count);
+  Count =
+      CommandCompletions::DiskFiles(Twine(BaseDir) + "/foo", Results, Resolver);
+  ASSERT_EQ(5u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
   EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -296,14 +305,14 @@ TEST_F(CompletionTest, DirCompletionUser
   // Just resolving current user's home directory by itself should return the
   // directory.
   StringList Results;
-  int Count = CommandCompletions::DiskDirectories2("~", Results, &Resolver);
-  ASSERT_EQ(1, Count);
+  size_t Count = CommandCompletions::DiskDirectories("~", Results, Resolver);
+  ASSERT_EQ(1u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(ContainsExactString(Twine("~") + path::get_separator(), Results));
 
   // With a slash appended, it should return all items in the directory.
-  Count = CommandCompletions::DiskDirectories2("~/", Results, &Resolver);
-  ASSERT_EQ(7, Count);
+  Count = CommandCompletions::DiskDirectories("~/", Results, Resolver);
+  ASSERT_EQ(7u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(
       ContainsExactString(Twine("~/foo") + path::get_separator(), Results));
@@ -324,20 +333,20 @@ TEST_F(CompletionTest, DirCompletionUser
   // match.
   // It shouldn't translate to the actual directory, it should keep the form the
   // user typed.
-  Count = CommandCompletions::DiskDirectories2("~Lars", Results, &Resolver);
-  ASSERT_EQ(1, Count);
+  Count = CommandCompletions::DiskDirectories("~Lars", Results, Resolver);
+  ASSERT_EQ(1u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(
       ContainsExactString(Twine("~Lars") + path::get_separator(), Results));
 
   // But with a username that is not found, no results are returned.
-  Count = CommandCompletions::DiskDirectories2("~Dave", Results, &Resolver);
-  ASSERT_EQ(0, Count);
+  Count = CommandCompletions::DiskDirectories("~Dave", Results, Resolver);
+  ASSERT_EQ(0u, Count);
   ASSERT_EQ(Count, Results.GetSize());
 
   // And if there are multiple matches, it should return all of them.
-  Count = CommandCompletions::DiskDirectories2("~La", Results, &Resolver);
-  ASSERT_EQ(2, Count);
+  Count = CommandCompletions::DiskDirectories("~La", Results, Resolver);
+  ASSERT_EQ(2u, Count);
   ASSERT_EQ(Count, Results.GetSize());
   EXPECT_TRUE(
       ContainsExactString(Twine("~Lars") + path::get_separator(), Results));




More information about the lldb-commits mailing list