mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-01 01:30:36 +00:00
Use line and column number to distinguish two lexical blocks at the same level.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96395 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
80dc116ce3
commit
3d821aaae2
@ -459,9 +459,11 @@ namespace llvm {
|
|||||||
if (DbgNode && !isLexicalBlock())
|
if (DbgNode && !isLexicalBlock())
|
||||||
DbgNode = 0;
|
DbgNode = 0;
|
||||||
}
|
}
|
||||||
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
||||||
StringRef getDirectory() const { return getContext().getDirectory(); }
|
StringRef getDirectory() const { return getContext().getDirectory(); }
|
||||||
StringRef getFilename() const { return getContext().getFilename(); }
|
StringRef getFilename() const { return getContext().getFilename(); }
|
||||||
|
unsigned getLineNumber() const { return getUnsignedField(2); }
|
||||||
|
unsigned getColumnNumber() const { return getUnsignedField(3); }
|
||||||
};
|
};
|
||||||
|
|
||||||
/// DINameSpace - A wrapper for a C++ style name space.
|
/// DINameSpace - A wrapper for a C++ style name space.
|
||||||
@ -636,7 +638,8 @@ namespace llvm {
|
|||||||
|
|
||||||
/// CreateLexicalBlock - This creates a descriptor for a lexical block
|
/// CreateLexicalBlock - This creates a descriptor for a lexical block
|
||||||
/// with the specified parent context.
|
/// with the specified parent context.
|
||||||
DILexicalBlock CreateLexicalBlock(DIDescriptor Context);
|
DILexicalBlock CreateLexicalBlock(DIDescriptor Context, unsigned Line = 0,
|
||||||
|
unsigned Col = 0);
|
||||||
|
|
||||||
/// CreateNameSpace - This creates new descriptor for a namespace
|
/// CreateNameSpace - This creates new descriptor for a namespace
|
||||||
/// with the specified parent context.
|
/// with the specified parent context.
|
||||||
|
@ -1007,12 +1007,15 @@ DIVariable DIFactory::CreateComplexVariable(unsigned Tag, DIDescriptor Context,
|
|||||||
|
|
||||||
/// CreateBlock - This creates a descriptor for a lexical block with the
|
/// CreateBlock - This creates a descriptor for a lexical block with the
|
||||||
/// specified parent VMContext.
|
/// specified parent VMContext.
|
||||||
DILexicalBlock DIFactory::CreateLexicalBlock(DIDescriptor Context) {
|
DILexicalBlock DIFactory::CreateLexicalBlock(DIDescriptor Context,
|
||||||
|
unsigned LineNo, unsigned Col) {
|
||||||
Value *Elts[] = {
|
Value *Elts[] = {
|
||||||
GetTagConstant(dwarf::DW_TAG_lexical_block),
|
GetTagConstant(dwarf::DW_TAG_lexical_block),
|
||||||
Context.getNode()
|
Context.getNode(),
|
||||||
|
ConstantInt::get(Type::getInt32Ty(VMContext), LineNo),
|
||||||
|
ConstantInt::get(Type::getInt32Ty(VMContext), Col)
|
||||||
};
|
};
|
||||||
return DILexicalBlock(MDNode::get(VMContext, &Elts[0], 2));
|
return DILexicalBlock(MDNode::get(VMContext, &Elts[0], 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// CreateNameSpace - This creates new descriptor for a namespace
|
/// CreateNameSpace - This creates new descriptor for a namespace
|
||||||
|
Loading…
x
Reference in New Issue
Block a user