aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2013-11-18 18:29:00 +0000
committerAaron Ballman <aaron@aaronballman.com>2013-11-18 18:29:00 +0000
commitef1cf830e089df74d25aebe623704909709668d9 (patch)
treef78e5ab07c946f58374b6a900a6dbebec609e778 /clang/lib/Basic/SourceManager.cpp
parenteedd3064de4134419184386ebdba29179f385b94 (diff)
downloadllvm-ef1cf830e089df74d25aebe623704909709668d9.zip
llvm-ef1cf830e089df74d25aebe623704909709668d9.tar.gz
llvm-ef1cf830e089df74d25aebe623704909709668d9.tar.bz2
Adding an assert to help catch possible buffer underruns.
llvm-svn: 195024
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
-rw-r--r--clang/lib/Basic/SourceManager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp
index 93e9a59..9d79551 100644
--- a/clang/lib/Basic/SourceManager.cpp
+++ b/clang/lib/Basic/SourceManager.cpp
@@ -1757,6 +1757,10 @@ FileID SourceManager::translateFile(const FileEntry *SourceFile) const {
SourceLocation SourceManager::translateLineCol(FileID FID,
unsigned Line,
unsigned Col) const {
+ // Lines are used as a one-based index into a zero-based array. This assert
+ // checks for possible buffer underruns.
+ assert(Line != 0 && "Passed a zero-based line");
+
if (FID.isInvalid())
return SourceLocation();