mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 09:52:04 +02:00
avoid range check error in ParseCompilationUnit
git-svn-id: trunk@15478 -
This commit is contained in:
parent
224deb7fe1
commit
8bcad0c07f
@ -54,8 +54,8 @@ type
|
|||||||
|
|
||||||
const
|
const
|
||||||
EBUF_SIZE = 100;
|
EBUF_SIZE = 100;
|
||||||
|
|
||||||
{$WARNING This code is not thread-safe, and needs improvement}
|
{$WARNING This code is not thread-safe, and needs improvement}
|
||||||
var
|
var
|
||||||
{ the input file to read DWARF debug info from, i.e. paramstr(0) }
|
{ the input file to read DWARF debug info from, i.e. paramstr(0) }
|
||||||
e : TExeFile;
|
e : TExeFile;
|
||||||
@ -615,7 +615,9 @@ begin
|
|||||||
DEBUG_WRITELN('DW_LNS_ADVANCE_PC (', hexstr(state.address, sizeof(state.address)*2), ')');
|
DEBUG_WRITELN('DW_LNS_ADVANCE_PC (', hexstr(state.address, sizeof(state.address)*2), ')');
|
||||||
end;
|
end;
|
||||||
DW_LNS_ADVANCE_LINE : begin
|
DW_LNS_ADVANCE_LINE : begin
|
||||||
inc(state.line, ReadLEB128());
|
// inc(state.line, ReadLEB128()); negative values are allowed
|
||||||
|
// but those may generate a range check error
|
||||||
|
state.line := state.line + ReadLEB128();
|
||||||
DEBUG_WRITELN('DW_LNS_ADVANCE_LINE (', state.line, ')');
|
DEBUG_WRITELN('DW_LNS_ADVANCE_LINE (', state.line, ')');
|
||||||
end;
|
end;
|
||||||
DW_LNS_SET_FILE : begin
|
DW_LNS_SET_FILE : begin
|
||||||
|
Loading…
Reference in New Issue
Block a user