* enable the compiler to optimize away parts of System.PushExceptObject, if System.get_frame is not implemented, i.e. returning nil

git-svn-id: trunk@47058 -
This commit is contained in:
florian 2020-10-06 19:43:17 +00:00
parent ab9fa2012b
commit c9fcc68ec1

View File

@ -101,12 +101,14 @@ begin
writeln ('In PushExceptObject'); writeln ('In PushExceptObject');
{$endif} {$endif}
_ExceptObjectStack:=@ExceptObjectStack; _ExceptObjectStack:=@ExceptObjectStack;
New(NewObj); NewObj:=AllocMem(sizeof(TExceptObject));
NewObj^.Next:=_ExceptObjectStack^; NewObj^.Next:=_ExceptObjectStack^;
_ExceptObjectStack^:=NewObj; _ExceptObjectStack^:=NewObj;
NewObj^.FObject:=Obj; NewObj^.FObject:=Obj;
NewObj^.Addr:=AnAddr; NewObj^.Addr:=AnAddr;
if assigned(get_frame) then
begin
NewObj^.refcount:=0; NewObj^.refcount:=0;
{ Backtrace } { Backtrace }
@ -135,6 +137,7 @@ begin
End; End;
NewObj^.framecount:=framecount; NewObj^.framecount:=framecount;
NewObj^.frames:=frames; NewObj^.frames:=frames;
end;
Result:=NewObj; Result:=NewObj;
end; end;