sammccall marked 4 inline comments as done. sammccall added inline comments.
================ Comment at: clang-tools-extra/clangd/SourceCode.cpp:318 -// Check if two locations have the same file id. -static bool inSameFile(SourceLocation Loc1, SourceLocation Loc2, - const SourceManager &SM) { ---------------- I dropped this function because it's just SM.isSpelledInSameFile ================ Comment at: clang-tools-extra/clangd/SourceCode.cpp:338 + : R2.getBegin(); + SourceLocation End = + SM.isBeforeInTranslationUnit(getLocForTokenEnd(R1.getEnd(), SM, LangOpts), ---------------- this is an unrelated bug fix: E1 < E2, std::min() etc don't do anything sensible for SourceLocation ================ Comment at: clang-tools-extra/clangd/SourceCode.cpp:358 Begin = Begin.isFileID() - ? SourceLocation() + ? includeHashLoc(SM.getFileID(Begin), SM) : SM.getImmediateExpansionRange(Begin).getBegin()) { ---------------- This is half of the real fix: once we've hit the top of the macro tree, we should walk up the `#include` stack in case we find a common ancestor there. ================ Comment at: clang-tools-extra/clangd/SourceCode.cpp:443 + SourceRange Result = + rangeInCommonFile(unionTokenRange(R1, R2, SM, LangOpts), SM, LangOpts); unsigned TokLen = getTokenLengthAtLoc(Result.getEnd(), SM, LangOpts); ---------------- this is one part of the main fix: the start and endpoint may be in different real files in the presence of #include Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66590/new/ https://reviews.llvm.org/D66590 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits