diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-03-01 03:43:33 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-03-01 03:43:33 +0000 |
commit | 838a920fda4408d1b12faca704da2b848a6efcc1 (patch) | |
tree | dcdd1a1bc16339b98d514952949092b4c2dc0383 /lib/Basic/SourceManager.cpp | |
parent | 8504b7b8102a52b2a16231d459fb3cfab4784c38 (diff) |
Add one more sanity check in SourceManager::getFileIDLoaded().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/SourceManager.cpp')
-rw-r--r-- | lib/Basic/SourceManager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index 8fa648c730..1b8383bc42 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -863,6 +863,11 @@ FileID SourceManager::getFileIDLoaded(unsigned SLocOffset) const { return Res; } + // Sanity checking, otherwise a bug may lead to hanging in release build. + if (LessIndex == MiddleIndex) { + assert(0 && "binary search missed the entry"); + return FileID(); + } LessIndex = MiddleIndex; } } |