mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Add line table debug info to COFF files when using a win32 triple.
Reviewed at http://llvm-reviews.chandlerc.com/D2232 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200340 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -70,6 +70,26 @@ void DebugLoc::getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA,
|
||||
IA = Ctx.pImpl->ScopeInlinedAtRecords[-ScopeIdx-1].second.get();
|
||||
}
|
||||
|
||||
MDNode *DebugLoc::getScopeNode(const LLVMContext &Ctx) const {
|
||||
if (MDNode *InlinedAt = getInlinedAt(Ctx))
|
||||
return DebugLoc::getFromDILocation(InlinedAt).getScopeNode(Ctx);
|
||||
return getScope(Ctx);
|
||||
}
|
||||
|
||||
DebugLoc DebugLoc::getFnDebugLoc(const LLVMContext &Ctx) {
|
||||
const MDNode *Scope = getScopeNode(Ctx);
|
||||
DISubprogram SP = getDISubprogram(Scope);
|
||||
if (SP.isSubprogram()) {
|
||||
// Check for number of operands since the compatibility is
|
||||
// cheap here. FIXME: Name the magic constant.
|
||||
if (SP->getNumOperands() > 19)
|
||||
return DebugLoc::get(SP.getScopeLineNumber(), 0, SP);
|
||||
else
|
||||
return DebugLoc::get(SP.getLineNumber(), 0, SP);
|
||||
}
|
||||
|
||||
return DebugLoc();
|
||||
}
|
||||
|
||||
DebugLoc DebugLoc::get(unsigned Line, unsigned Col,
|
||||
MDNode *Scope, MDNode *InlinedAt) {
|
||||
|
Reference in New Issue
Block a user