mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-21 21:50:07 +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,
|
procstarttai,
|
||||||
procendtai : tai;
|
procendtai : tai;
|
||||||
skpara: pointer;
|
skpara: pointer;
|
||||||
|
personality: tprocdef;
|
||||||
forwarddef,
|
forwarddef,
|
||||||
interfacedef : boolean;
|
interfacedef : boolean;
|
||||||
hasforward : boolean;
|
hasforward : boolean;
|
||||||
@ -734,6 +735,8 @@ interface
|
|||||||
procedure Setprocendtai(AValue: tai);
|
procedure Setprocendtai(AValue: tai);
|
||||||
function Getskpara: pointer;
|
function Getskpara: pointer;
|
||||||
procedure Setskpara(AValue: pointer);
|
procedure Setskpara(AValue: pointer);
|
||||||
|
function Getpersonality: tprocdef;
|
||||||
|
procedure Setpersonality(AValue: tprocdef);
|
||||||
function Getforwarddef: boolean;
|
function Getforwarddef: boolean;
|
||||||
procedure Setforwarddef(AValue: boolean);
|
procedure Setforwarddef(AValue: boolean);
|
||||||
function Getinterfacedef: boolean;
|
function Getinterfacedef: boolean;
|
||||||
@ -846,6 +849,8 @@ interface
|
|||||||
property procendtai: tai read Getprocendtai write Setprocendtai;
|
property procendtai: tai read Getprocendtai write Setprocendtai;
|
||||||
{ optional parameter for the synthetic routine generation logic }
|
{ optional parameter for the synthetic routine generation logic }
|
||||||
property skpara: pointer read Getskpara write Setskpara;
|
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
|
{ true, if the procedure is only declared
|
||||||
(forward procedure) }
|
(forward procedure) }
|
||||||
property forwarddef: boolean read Getforwarddef write Setforwarddef;
|
property forwarddef: boolean read Getforwarddef write Setforwarddef;
|
||||||
@ -5331,6 +5336,22 @@ implementation
|
|||||||
end;
|
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;
|
function tprocdef.Getforwarddef: boolean;
|
||||||
begin
|
begin
|
||||||
if not assigned(implprocdefinfo) then
|
if not assigned(implprocdefinfo) then
|
||||||
|
Loading…
Reference in New Issue
Block a user