]> granicus.if.org Git - clang/commitdiff
Avoid binding a reference to a dereferenced null pointer, if we try to emit a
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 17 Aug 2012 00:55:32 +0000 (00:55 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 17 Aug 2012 00:55:32 +0000 (00:55 +0000)
diagnostic before we have a source manager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162070 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Diagnostic.cpp

index 2c49c2f7606b97a76968d1f8e4959cff34146e65..8065b2d98f32ab9e02aa62f04bc6b38513410aad 100644 (file)
@@ -145,6 +145,9 @@ DiagnosticsEngine::GetDiagStatePointForLoc(SourceLocation L) const {
   assert(DiagStatePoints.front().Loc.isInvalid() &&
          "Should have created a DiagStatePoint for command-line");
 
+  if (!SourceMgr)
+    return DiagStatePoints.end() - 1;
+
   FullSourceLoc Loc(L, *SourceMgr);
   if (Loc.isInvalid())
     return DiagStatePoints.end() - 1;