sammccall added inline comments.

================
Comment at: clang-tools-extra/clangd/Selection.cpp:373
+    if(!Range)
+      return SelectionTree::Unselected;
     dlog("{1}claimRange: {0}", Range->printToString(SM), indent());
----------------
This isn't a sufficient fix, there are 5 callsites that don't check for failure.
Adding defenses to each of them is the right thing if we really can't handle 
failure, but today they assume the invariant that if the inputs were from the 
same file id, the output will be valid. Can we really not provide that 
guarantee?


================
Comment at: clang-tools-extra/clangd/SourceCode.cpp:314
   while (!FileRange.getBegin().isFileID()) {
-    assert(!FileRange.getEnd().isFileID() &&
-           "Both Begin and End should be MacroIDs.");
+    // FIXME: Investigate when this assert fails. Added a hack until then.
+    // assert(!FileRange.getEnd().isFileID() &&
----------------
We have a reproducer, why can't we investigate now?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D65574



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

Reply via email to