]> granicus.if.org Git - clang/commitdiff
Don't crash on invalid source locations in
authorDaniel Dunbar <daniel@zuster.org>
Fri, 24 Oct 2008 08:38:36 +0000 (08:38 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 24 Oct 2008 08:38:36 +0000 (08:38 +0000)
CGDebugInfo::getOrCreateCompileUnit.

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

lib/CodeGen/CGDebugInfo.cpp

index 89d00aee5e8738734fef4c653cb02bfd46055015..4283dd4eaf3c654cce2822899243e52ef986537c 100644 (file)
@@ -131,9 +131,12 @@ llvm::Value *CGDebugInfo::getValueFor(llvm::DebugInfoDesc *DD) {
 }
 
 /// getOrCreateCompileUnit - Get the compile unit from the cache or create a new
-/// one if necessary.
-llvm::CompileUnitDesc 
-*CGDebugInfo::getOrCreateCompileUnit(const SourceLocation Loc) {
+/// one if necessary. This returns null for invalid source locations.
+llvm::CompileUnitDesc*
+CGDebugInfo::getOrCreateCompileUnit(const SourceLocation Loc) {
+  if (Loc.isInvalid())
+    return NULL;
+
   SourceManager &SM = M->getContext().getSourceManager();
   const FileEntry *FE = SM.getFileEntryForLoc(Loc);