ivanmurashko updated this revision to Diff 448885. ivanmurashko added a comment.
rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130847/new/ https://reviews.llvm.org/D130847 Files: clang/include/clang/Basic/SourceManager.h Index: clang/include/clang/Basic/SourceManager.h =================================================================== --- clang/include/clang/Basic/SourceManager.h +++ clang/include/clang/Basic/SourceManager.h @@ -1825,7 +1825,13 @@ /// specified SourceLocation offset. This is a very hot method. inline bool isOffsetInFileID(FileID FID, SourceLocation::UIntTy SLocOffset) const { - const SrcMgr::SLocEntry &Entry = getSLocEntry(FID); + bool Invalid = false; + const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &Invalid); + + // If the entry is invalid, it can't contain it. + if (Invalid) + return false; + // If the entry is after the offset, it can't contain it. if (SLocOffset < Entry.getOffset()) return false;
Index: clang/include/clang/Basic/SourceManager.h =================================================================== --- clang/include/clang/Basic/SourceManager.h +++ clang/include/clang/Basic/SourceManager.h @@ -1825,7 +1825,13 @@ /// specified SourceLocation offset. This is a very hot method. inline bool isOffsetInFileID(FileID FID, SourceLocation::UIntTy SLocOffset) const { - const SrcMgr::SLocEntry &Entry = getSLocEntry(FID); + bool Invalid = false; + const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &Invalid); + + // If the entry is invalid, it can't contain it. + if (Invalid) + return false; + // If the entry is after the offset, it can't contain it. if (SLocOffset < Entry.getOffset()) return false;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits