mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 06:49:27 +02:00
* Pop the last exception object in safecall procedure.
git-svn-id: trunk@7721 -
This commit is contained in:
parent
a7d1508959
commit
78fe68859b
@ -1479,9 +1479,13 @@ implementation
|
||||
exit;
|
||||
{$if defined(x86) or defined(arm)}
|
||||
if current_procinfo.procdef.proccalloption=pocall_safecall then
|
||||
{ Set return value of safecall procedure to indicate exception. }
|
||||
{ Exception will be raised after procedure exit based on return value }
|
||||
cg.a_load_const_reg(current_asmdata.CurrAsmList,OS_ADDR,aint($8000FFFF),NR_FUNCTION_RETURN_REG)
|
||||
begin
|
||||
{ Remove the last exception object }
|
||||
cg.a_call_name(current_asmdata.CurrAsmList,'FPC_POPOBJECTSTACK');
|
||||
{ Set return value of safecall procedure to indicate exception. }
|
||||
{ Exception will be raised after procedure exit based on return value }
|
||||
cg.a_load_const_reg(current_asmdata.CurrAsmList,OS_ADDR,aint($8000FFFF),NR_FUNCTION_RETURN_REG);
|
||||
end
|
||||
else
|
||||
{$endif}
|
||||
cg.a_call_name(current_asmdata.CurrAsmList,'FPC_RERAISE');
|
||||
|
Loading…
Reference in New Issue
Block a user