rnk added a comment.

This looks good to me. I had one suggestion, and I would also like to hear from 
another reviewer who has more ownership over VFS.



================
Comment at: llvm/include/llvm/Support/VirtualFileSystem.h:657
+  // slashes to match backslashes (and vice versa).
+  bool pathComponentMatches(llvm::StringRef lhs, llvm::StringRef rhs) const {
+    if ((CaseSensitive ? lhs.equals(rhs) : lhs.equals_lower(rhs)))
----------------
IIUC, this method receives path components, which must not contain path 
separators, or the root path component, `\` or `/`. Is there some way to 
express that invariant? Maybe just comment like "A path component must not 
contain path separators, unless it is the root component, which is represented 
as a single path separator," or an assert with the same effect.


================
Comment at: llvm/lib/Support/VirtualFileSystem.cpp:1666
   // paths become globally default.
   if (Start->equals("."))
     ++Start;
----------------
Unrelated, but I wonder if this needs to be `while` instead of `if` to handle 
repeated `foo/./././bar`.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69958/new/

https://reviews.llvm.org/D69958



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

Reply via email to