Improve stack trace output with -Cr option, contributed by Colin Western

git-svn-id: trunk@36134 -
This commit is contained in:
pierre 2017-05-06 13:54:50 +00:00
parent 631d4a2d53
commit ded1fb23a2

View File

@ -793,7 +793,7 @@ begin
exit; exit;
if (pobjectvmt(ppointer(_self+vmt_pos)^)^.size=0) or if (pobjectvmt(ppointer(_self+vmt_pos)^)^.size=0) or
(pobjectvmt(ppointer(_self+vmt_pos)^)^.size+pobjectvmt(ppointer(_self+vmt_pos)^)^.msize<>0) then (pobjectvmt(ppointer(_self+vmt_pos)^)^.size+pobjectvmt(ppointer(_self+vmt_pos)^)^.msize<>0) then
HandleError(210); HandleErrorAddrFrameInd(210,get_pc_addr,get_frame);
{ reset vmt to nil for protection } { reset vmt to nil for protection }
ppointer(_self+vmt_pos)^:=nil; ppointer(_self+vmt_pos)^:=nil;
freemem(_self); freemem(_self);
@ -832,7 +832,7 @@ begin
if (_vmt=nil) or if (_vmt=nil) or
(pobjectvmt(_vmt)^.size=0) or (pobjectvmt(_vmt)^.size=0) or
(pobjectvmt(_vmt)^.size+pobjectvmt(_vmt)^.msize<>0) then (pobjectvmt(_vmt)^.size+pobjectvmt(_vmt)^.msize<>0) then
HandleError(210); HandleErrorAddrFrameInd(210,get_pc_addr,get_frame);
end; end;
{$endif ndef FPC_SYSTEM_HAS_FPC_CHECK_OBJECT} {$endif ndef FPC_SYSTEM_HAS_FPC_CHECK_OBJECT}
@ -847,7 +847,7 @@ begin
if (vmt=nil) or if (vmt=nil) or
(pobjectvmt(vmt)^.size=0) or (pobjectvmt(vmt)^.size=0) or
(pobjectvmt(vmt)^.size+pobjectvmt(vmt)^.msize<>0) then (pobjectvmt(vmt)^.size+pobjectvmt(vmt)^.msize<>0) then
HandleError(210); HandleErrorAddrFrameInd(210,get_pc_addr,get_frame);
while assigned(vmt) do while assigned(vmt) do
if vmt=expvmt then if vmt=expvmt then
exit exit
@ -860,7 +860,7 @@ begin
else else
vmt:=nil; vmt:=nil;
{$endif} {$endif}
HandleError(219); HandleErrorAddrFrameInd(219,get_pc_addr,get_frame);
end; end;
{$endif not FPC_SYSTEM_HAS_FPC_CHECK_OBJECT_EXT} {$endif not FPC_SYSTEM_HAS_FPC_CHECK_OBJECT_EXT}