Debug info: Ensure that the last stop point in a function is still within
the lexical block formed by the compound statement that is the function
body.

rdar://problem/15010825

llvm-svn: 198461
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index cebd6a7..2d8c68e 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -207,9 +207,10 @@
   // all will be fine.
   if (CGDebugInfo *DI = getDebugInfo()) {
     if (OnlySimpleReturnStmts)
-      DI->EmitLocation(Builder, LastStopPoint);
+      DI->EmitLocation(Builder, LastStopPoint.first,
+                       false, LastStopPoint.second);
     else
-      DI->EmitLocation(Builder, EndLoc);
+      DI->EmitLocation(Builder, EndLoc, false, LastStopPoint.second);
   }
 
   // Pop any cleanups that might have been associated with the
@@ -226,7 +227,7 @@
 
     if (CGDebugInfo *DI = getDebugInfo())
       if (OnlySimpleReturnStmts)
-        DI->EmitLocation(Builder, EndLoc);
+        DI->EmitLocation(Builder, EndLoc, false, LastStopPoint.second);
   }
 
   // Emit function epilog (to return).