mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 09:26:15 +02:00
+ support for recording an exception catching personality function for a
procdef for ABI-conformant exception handling git-svn-id: trunk@35162 -
This commit is contained in:
parent
4b9179636b
commit
6e05c78a54
@ -701,6 +701,7 @@ interface
|
||||
procstarttai,
|
||||
procendtai : tai;
|
||||
skpara: pointer;
|
||||
personality: tprocdef;
|
||||
forwarddef,
|
||||
interfacedef : boolean;
|
||||
hasforward : boolean;
|
||||
@ -734,6 +735,8 @@ interface
|
||||
procedure Setprocendtai(AValue: tai);
|
||||
function Getskpara: pointer;
|
||||
procedure Setskpara(AValue: pointer);
|
||||
function Getpersonality: tprocdef;
|
||||
procedure Setpersonality(AValue: tprocdef);
|
||||
function Getforwarddef: boolean;
|
||||
procedure Setforwarddef(AValue: boolean);
|
||||
function Getinterfacedef: boolean;
|
||||
@ -846,6 +849,8 @@ interface
|
||||
property procendtai: tai read Getprocendtai write Setprocendtai;
|
||||
{ optional parameter for the synthetic routine generation logic }
|
||||
property skpara: pointer read Getskpara write Setskpara;
|
||||
{ ABI-conformant exception handling personality function }
|
||||
property personality: tprocdef read Getpersonality write Setpersonality;
|
||||
{ true, if the procedure is only declared
|
||||
(forward procedure) }
|
||||
property forwarddef: boolean read Getforwarddef write Setforwarddef;
|
||||
@ -5331,6 +5336,22 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
function tprocdef.Getpersonality: tprocdef;
|
||||
begin
|
||||
if not assigned(implprocdefinfo) then
|
||||
internalerror(2016121701);
|
||||
result:=implprocdefinfo^.personality;
|
||||
end;
|
||||
|
||||
|
||||
procedure tprocdef.Setpersonality(AValue: tprocdef);
|
||||
begin
|
||||
if not assigned(implprocdefinfo) then
|
||||
internalerror(2016121702);
|
||||
implprocdefinfo^.personality:=AValue;
|
||||
end;
|
||||
|
||||
|
||||
function tprocdef.Getforwarddef: boolean;
|
||||
begin
|
||||
if not assigned(implprocdefinfo) then
|
||||
|
Loading…
Reference in New Issue
Block a user