If variable location is invalid then use current location.
This fixes radar 7959934.

llvm-svn: 103408
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index fff4d60..59b6b72 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -1536,7 +1536,9 @@
   if (!PLoc.isInvalid())
     Line = PLoc.getLine();
   else
-    Unit = llvm::DIFile();
+    // If variable location is invalid, use current location to find 
+    // corresponding file info.
+    Unit = getOrCreateFile(CurLoc);
 
   CharUnits offset = CGF->BlockDecls[VD];
   llvm::SmallVector<llvm::Value *, 9> addr;