Revert 180817 because 180816 was reverted.

llvm-svn: 180823
This commit is contained in:
Adrian Prantl 2013-04-30 22:45:09 +00:00
parent 3b87038631
commit ab067ae8b0
2 changed files with 18 additions and 1 deletions

View File

@ -2506,6 +2506,22 @@ void CGDebugInfo::EmitDeclare(const VarDecl *VD, unsigned Tag,
VD->getName(), Unit, Line, Ty,
addr, ArgNo);
// Insert an llvm.dbg.declare into the current block.
llvm::Instruction *Call =
DBuilder.insertDeclare(Storage, D, Builder.GetInsertBlock());
Call->setDebugLoc(llvm::DebugLoc::get(Line, Column, Scope));
return;
} else if (isa<VariableArrayType>(VD->getType())) {
// These are "complex" variables in that they need an op_deref.
// Create the descriptor for the variable.
llvm::Value *Addr = llvm::ConstantInt::get(CGM.Int64Ty,
llvm::DIBuilder::OpDeref);
llvm::DIVariable D =
DBuilder.createComplexVariable(Tag,
llvm::DIDescriptor(Scope),
Name, Unit, Line, Ty,
Addr, ArgNo);
// Insert an llvm.dbg.declare into the current block.
llvm::Instruction *Call =
DBuilder.insertDeclare(Storage, D, Builder.GetInsertBlock());

View File

@ -1,8 +1,9 @@
// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s
// CHECK: metadata !{i32 {{.*}}, metadata {{.*}}, metadata !"vla", metadata {{.*}}, i32 7, metadata {{.*}}, i32 0, i32 0, i64 2} ; [ DW_TAG_auto_variable ]
void testVLAwithSize(int s)
{
// CHECK: metadata !{i32 {{.*}}, metadata {{.*}}, metadata !"vla", metadata {{.*}}, i32 [[@LINE+1]], metadata {{.*}}, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [vla] [line [[@LINE+1]]]
int vla[s];
int i;
for (i = 0; i < s; i++) {