]> granicus.if.org Git - clang/commitdiff
Record location info before emiting alloca for arguments. This allows arguments to...
authorDevang Patel <dpatel@apple.com>
Thu, 8 Oct 2009 18:53:37 +0000 (18:53 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 8 Oct 2009 18:53:37 +0000 (18:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83567 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDecl.cpp

index 73bc0a04a0c654b237bcaf316220d0b0a9655ad8..cc8f54719129e9237d481efcb7bbd3b494139839 100644 (file)
@@ -550,6 +550,11 @@ void CodeGenFunction::EmitParmDecl(const VarDecl &D, llvm::Value *Arg) {
          "Invalid argument to EmitParmDecl");
   QualType Ty = D.getType();
 
+  if (CGDebugInfo *DI = getDebugInfo()) {
+    DI->setLocation(D.getLocation());
+    DI->EmitStopPoint(CurFn, Builder);
+  }
+
   llvm::Value *DeclPtr;
   if (!Ty->isConstantSizeType()) {
     // Variable sized values always are passed by-reference.
@@ -578,9 +583,7 @@ void CodeGenFunction::EmitParmDecl(const VarDecl &D, llvm::Value *Arg) {
   DMEntry = DeclPtr;
 
   // Emit debug info for param declaration.
-  if (CGDebugInfo *DI = getDebugInfo()) {
-    DI->setLocation(D.getLocation());
+  if (CGDebugInfo *DI = getDebugInfo())
     DI->EmitDeclareOfArgVariable(&D, DeclPtr, Builder);
-  }
 }