Merge pull request #8 from ksherlock/patch0004

records within records can generate a bad displacement in the debugger symbol table.
This commit is contained in:
MikeW50 2018-03-25 15:15:22 -06:00 committed by GitHub
commit 1c91c2f1d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -802,7 +802,7 @@ var
tp1^.next := tpList; tp1^.next := tpList;
tpList := tp1; tpList := tp1;
tp1^.tp := tp; tp1^.tp := tp;
tp1^.disp := symLength; tp1^.disp := symLength - 12;
end; {else} end; {else}
end; {GetTypeDisp} end; {GetTypeDisp}
@ -1062,6 +1062,7 @@ var
if sym^.idtype <> nil then if sym^.idtype <> nil then
if sym^.idtype^.form in if sym^.idtype^.form in
[scalar,subrange,pointerStruct,arrays,records,objects] then begin [scalar,subrange,pointerStruct,arrays,records,objects] then begin
symLength := symLength+12; {update length of symbol table}
WriteName(sym); {write the name field} WriteName(sym); {write the name field}
WriteAddress(sym); {write the address field} WriteAddress(sym); {write the address field}
case sym^.idtype^.form of case sym^.idtype^.form of
@ -1089,7 +1090,6 @@ var
end; {else} end; {else}
end; end;
end; {case} end; {case}
symLength := symLength+12; {update length of symbol table}
end; {if} end; {if}
if sym^.rlink <> nil then if sym^.rlink <> nil then