hokein added inline comments.

================
Comment at: clangd/index/Index.h:93
+    return Cmp < 0;
+  return std::tie(L.Start, L.End) < std::tie(R.Start, R.End);
 }
----------------
sammccall wrote:
> tie(strcmp(L.FileURI, R.FileURI), ...) < tie(0, ...)?
tie doesn't support this usage, it expects lvalue arguments.


================
Comment at: clangd/index/Index.h:306
+    llvm::StringRef S(P);
+    CB(S);
+    P = S.data();
----------------
sammccall wrote:
> ```assert (!S.data()[S.size()] && "Visited StringRef must be null-terminated")
Does this assert actually work? The `StringRef` is constructed from the `char 
*` (which using `strlen`). This assert will not get triggered I think, 
`S.data()[S.size()]` is always `\0`.


================
Comment at: clangd/index/Merge.cpp:118
   bool MergeIncludes =
-      L.Definition.FileURI.empty() == R.Definition.FileURI.empty();
+      !std::strlen(L.Definition.FileURI) == !std::strlen(R.Definition.FileURI);
   Symbol S = PreferR ? R : L;        // The target symbol we're merging into.
----------------
sammccall wrote:
> Since this reads awkwardly anyway...
> ```bool(*L.Definition.FileURI) == bool(*R.definition.FileURI)```
> is shorter and faster
this is neat!


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D53427



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

Reply via email to