diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-02-04 17:57:12 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-02-04 17:57:12 +0000 |
commit | a4859dfa46ef796976f023f505aae891722883b3 (patch) | |
tree | 21224dde620cd5e0191b1ee9e8bd4794473790b5 /llvm/tools/llvm-readobj/COFFDumper.cpp | |
parent | 4d123512a27dde92994302267651bfbc10c63e0c (diff) | |
download | bcm5719-llvm-a4859dfa46ef796976f023f505aae891722883b3.tar.gz bcm5719-llvm-a4859dfa46ef796976f023f505aae891722883b3.zip |
Correctly handle {Always,Never}StepIntoLine
llvm-svn: 259806
Diffstat (limited to 'llvm/tools/llvm-readobj/COFFDumper.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/COFFDumper.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp index 078e0b16dea..ace5be8bedc 100644 --- a/llvm/tools/llvm-readobj/COFFDumper.cpp +++ b/llvm/tools/llvm-readobj/COFFDumper.cpp @@ -1154,14 +1154,15 @@ void COFFDumper::printCodeViewSymbolSection(StringRef SectionName, char Buffer[32]; format("+0x%X", PC).snprint(Buffer, 32); ListScope PCScope(W, Buffer); - uint32_t LineNumberStart = LineData & codeview::LineInfo::StartLineMask; - uint32_t LineNumberEndDelta = - (LineData & codeview::LineInfo::EndLineDeltaMask) >> - codeview::LineInfo::EndLineDeltaShift; - bool IsStatement = LineData & codeview::LineInfo::StatementFlag; - W.printNumber("LineNumberStart", LineNumberStart); - W.printNumber("LineNumberEndDelta", LineNumberEndDelta); - W.printBoolean("IsStatement", IsStatement); + LineInfo LI(LineData); + if (LI.isAlwaysStepInto()) + W.printString("StepInto", StringRef("Always")); + else if (LI.isNeverStepInto()) + W.printString("StepInto", StringRef("Never")); + else + W.printNumber("LineNumberStart", LI.getStartLine()); + W.printNumber("LineNumberEndDelta", LI.getLineDelta()); + W.printBoolean("IsStatement", LI.isStatement()); if (HasColumnInformation && ColumnDE.isValidOffsetForDataOfSize(ColumnOffset, 4)) { uint16_t ColStart = ColumnDE.getU16(&ColumnOffset); |