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())
|
||||
DbgNode = 0;
|
||||
}
|
||||
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
||||
StringRef getDirectory() const { return getContext().getDirectory(); }
|
||||
StringRef getFilename() const { return getContext().getFilename(); }
|
||||
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
||||
StringRef getDirectory() const { return getContext().getDirectory(); }
|
||||
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.
|
||||
@ -636,7 +638,8 @@ namespace llvm {
|
||||
|
||||
/// CreateLexicalBlock - This creates a descriptor for a lexical block
|
||||
/// 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
|
||||
/// 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
|
||||
/// specified parent VMContext.
|
||||
DILexicalBlock DIFactory::CreateLexicalBlock(DIDescriptor Context) {
|
||||
DILexicalBlock DIFactory::CreateLexicalBlock(DIDescriptor Context,
|
||||
unsigned LineNo, unsigned Col) {
|
||||
Value *Elts[] = {
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user