diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-05-17 22:09:53 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-05-17 22:09:53 +0000 |
commit | 5adc0515aaacb6c4d4f0c9626d86c1e5c177467c (patch) | |
tree | 02e0756b439d9ca0e133f19fae127fa6c9de1889 /lib/Basic | |
parent | badea57d1db45caa95e71a256f4f4cf94fe20451 (diff) |
Do some safety checks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic')
-rw-r--r-- | lib/Basic/SourceManager.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index c3e03933e5..ae7de2d3c9 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -961,6 +961,12 @@ static void ComputeLineNumbers(Diagnostic &Diag, ContentCache *FI, /// about to emit a diagnostic. unsigned SourceManager::getLineNumber(FileID FID, unsigned FilePos, bool *Invalid) const { + if (FID.isInvalid()) { + if (Invalid) + *Invalid = true; + return 1; + } + ContentCache *Content; if (LastLineNoFileIDQuery == FID) Content = LastLineNoContentCache; |