forked from OSchip/llvm-project
Revert 180817 because 180816 was reverted.
llvm-svn: 180823
This commit is contained in:
parent
3b87038631
commit
ab067ae8b0
|
@ -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());
|
||||
|
|
|
@ -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++) {
|
||||
|
|
Loading…
Reference in New Issue