labath accepted this revision.
labath added a comment.
This revision is now accepted and ready to land.

Looks fine to me. Normalization, at least as it is implemented now in 
`remove_dots`, is a fairly heavy operation, so it makes sense to avoid it when 
possible. And the extra speedup is great.



================
Comment at: source/Utility/FileSpec.cpp:203
 
+namespace {
 //------------------------------------------------------------------
----------------
these can be just static functions. No need for a namespace.


================
Comment at: unittests/Utility/FileSpecTest.cpp:236-237
+      {R"(.)", R"()"},
+      // TODO: fix llvm::sys::path::remove_dots() to return "c:\" below.
+      {R"(c:..\..)", R"(c:\..\..)"},
       {R"(..\..)", R"(..\..)"},
----------------
Neither the present behavior, nor `c:\` is correct here. `c:..\..` is a path 
relative to the current directory on the C drive, `C:\` is the root of the C 
drive, and `c:\..\..` is equivalent to `c:\`. However, it seems nobody cares 
about corner cases like this, as there are bunch of them in the llvm path 
handling.


https://reviews.llvm.org/D45977



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to