diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp')
-rw-r--r-- | contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp b/contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp index 2fca37dd38..0ebb70e010 100644 --- a/contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp +++ b/contrib/libs/llvm12/lib/DebugInfo/PDB/PDBContext.cpp @@ -86,43 +86,43 @@ DIInliningInfo PDBContext::getInliningInfoForAddress(object::SectionedAddress Address, DILineInfoSpecifier Specifier) { DIInliningInfo InlineInfo; - DILineInfo CurrentLine = getLineInfoForAddress(Address, Specifier); - - // Find the function at this address. - std::unique_ptr<PDBSymbol> ParentFunc = - Session->findSymbolByAddress(Address.Address, PDB_SymType::Function); - if (!ParentFunc) { - InlineInfo.addFrame(CurrentLine); - return InlineInfo; - } - - auto Frames = ParentFunc->findInlineFramesByVA(Address.Address); - if (!Frames || Frames->getChildCount() == 0) { - InlineInfo.addFrame(CurrentLine); - return InlineInfo; - } - - while (auto Frame = Frames->getNext()) { - uint32_t Length = 1; - auto LineNumbers = Frame->findInlineeLinesByVA(Address.Address, Length); - if (!LineNumbers || LineNumbers->getChildCount() == 0) - break; - - std::unique_ptr<IPDBLineNumber> Line = LineNumbers->getNext(); - assert(Line); - - DILineInfo LineInfo; - LineInfo.FunctionName = Frame->getName(); - auto SourceFile = Session->getSourceFileById(Line->getSourceFileId()); - if (SourceFile && - Specifier.FLIKind != DILineInfoSpecifier::FileLineInfoKind::None) - LineInfo.FileName = SourceFile->getFileName(); - LineInfo.Line = Line->getLineNumber(); - LineInfo.Column = Line->getColumnNumber(); - InlineInfo.addFrame(LineInfo); - } - - InlineInfo.addFrame(CurrentLine); + DILineInfo CurrentLine = getLineInfoForAddress(Address, Specifier); + + // Find the function at this address. + std::unique_ptr<PDBSymbol> ParentFunc = + Session->findSymbolByAddress(Address.Address, PDB_SymType::Function); + if (!ParentFunc) { + InlineInfo.addFrame(CurrentLine); + return InlineInfo; + } + + auto Frames = ParentFunc->findInlineFramesByVA(Address.Address); + if (!Frames || Frames->getChildCount() == 0) { + InlineInfo.addFrame(CurrentLine); + return InlineInfo; + } + + while (auto Frame = Frames->getNext()) { + uint32_t Length = 1; + auto LineNumbers = Frame->findInlineeLinesByVA(Address.Address, Length); + if (!LineNumbers || LineNumbers->getChildCount() == 0) + break; + + std::unique_ptr<IPDBLineNumber> Line = LineNumbers->getNext(); + assert(Line); + + DILineInfo LineInfo; + LineInfo.FunctionName = Frame->getName(); + auto SourceFile = Session->getSourceFileById(Line->getSourceFileId()); + if (SourceFile && + Specifier.FLIKind != DILineInfoSpecifier::FileLineInfoKind::None) + LineInfo.FileName = SourceFile->getFileName(); + LineInfo.Line = Line->getLineNumber(); + LineInfo.Column = Line->getColumnNumber(); + InlineInfo.addFrame(LineInfo); + } + + InlineInfo.addFrame(CurrentLine); return InlineInfo; } |