mirror of
https://github.com/byteworksinc/ORCA-Pascal.git
synced 2025-02-14 02:30:33 +00:00
when generating a debugger symbol table, GetTypeDisp returns 0 for not found or for a displacement of 0. Not good. This uses a noDisp/-1 const (as does ORCA/C).
This commit is contained in:
parent
cf72a073f8
commit
012d936d3f
@ -753,6 +753,9 @@ procedure GenSymbols {sym: ctp; doGlobals: integer};
|
|||||||
{ }
|
{ }
|
||||||
{ Notes: Defined as extern in Native.pas }
|
{ Notes: Defined as extern in Native.pas }
|
||||||
|
|
||||||
|
const
|
||||||
|
noDisp = -1; {disp returned by GetTypeDisp if the type was not found}
|
||||||
|
|
||||||
type
|
type
|
||||||
tpPtr = ^tpRecord; {type list displacements}
|
tpPtr = ^tpRecord; {type list displacements}
|
||||||
tpRecord = record
|
tpRecord = record
|
||||||
@ -794,7 +797,7 @@ var
|
|||||||
if tp2 <> nil then
|
if tp2 <> nil then
|
||||||
GetTypeDisp := tp2^.disp {return disp to entry}
|
GetTypeDisp := tp2^.disp {return disp to entry}
|
||||||
else begin
|
else begin
|
||||||
GetTypeDisp := 0; {no entry}
|
GetTypeDisp := noDisp; {no entry}
|
||||||
new(tp1); {create a new entry}
|
new(tp1); {create a new entry}
|
||||||
tp1^.next := tpList;
|
tp1^.next := tpList;
|
||||||
tpList := tp1;
|
tpList := tp1;
|
||||||
@ -1033,7 +1036,7 @@ var
|
|||||||
records,
|
records,
|
||||||
objects: begin
|
objects: begin
|
||||||
disp := GetTypeDisp(tp^.eltype);
|
disp := GetTypeDisp(tp^.eltype);
|
||||||
if disp = 0 then begin
|
if disp = noDisp then begin
|
||||||
if tp^.eltype^.form = records then
|
if tp^.eltype^.form = records then
|
||||||
CnOut(12)
|
CnOut(12)
|
||||||
else
|
else
|
||||||
@ -1072,7 +1075,7 @@ var
|
|||||||
records,
|
records,
|
||||||
objects: begin
|
objects: begin
|
||||||
disp := GetTypeDisp(sym^.idtype);
|
disp := GetTypeDisp(sym^.idtype);
|
||||||
if disp = 0 then begin
|
if disp = noDisp then begin
|
||||||
if sym^.idtype^.form = records then
|
if sym^.idtype^.form = records then
|
||||||
CnOut(12)
|
CnOut(12)
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user