mirror of
https://github.com/RPCSX/llvm.git
synced 2025-05-13 10:56:01 +00:00
Correctly handle {Always,Never}StepIntoLine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259806 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
75a2a42e95
commit
b4612d8832
@ -35,6 +35,7 @@ public:
|
||||
};
|
||||
|
||||
LineInfo(uint32_t StartLine, uint32_t EndLine, bool IsStatement);
|
||||
LineInfo(uint32_t LineData) : LineData(LineData) {}
|
||||
|
||||
uint32_t getStartLine() const { return LineData & StartLineMask; }
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user