[fpc-pascal] question about _fpc_local_unwind

Matias Vara matiasevara at gmail.com
Thu Feb 1 16:24:44 CET 2018


Hello,
I partial answered my question by reading
https://www.freepascal.org/docs-html/ref/refse114.html. So I think
_fpc_local_unwind() is used to call the finally section when "Exit" is
executed in the "Try" section. It is not clear yet what the parameters
"frame,target: Pointer" are meant to. I checked the code generated in Linux
and is a bit different. It is base on the functions FPC_PUSHEXCEPTADDR
and FPC_POPADDRSTACK, which It seems much more clear. Is it possible to
generate a similar code in the case of Win64? In other words, is it
possible to tell the compiler "generate the 'try-finally-end' block as in
Linux"? I don't think so but It is worth to ask.

Thanks, Matias.


2018-01-31 11:17 GMT+01:00 Matias Vara <matiasevara at gmail.com>:

> Hello eveyryone,
>
> in my rtl for torokernel, I have to implement "_fpc_local_unwind()"
> however I am not sure about the expected behavior of this function. It
> appers in the code when I use "Exit" inside a "try finally" structure. I
> would like to know what this function should do. So if someone can point me
> to some documetation would be very helpful,
>
> Thanks, Matias.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180201/c3aefd40/attachment.html>


More information about the fpc-pascal mailing list