[fpc-pascal] $IMPLICITEXCEPTIONS vs early function return

Jonas Maebe jonas at freepascal.org
Sat Jul 15 18:17:56 CEST 2023


On 15/07/2023 16:53, Hairy Pixels via fpc-pascal wrote:
> 
> 
>> On Jul 15, 2023, at 7:18 AM, Jonas Maebe via fpc-pascal <fpc-pascal at lists.freepascal.org> wrote:
>>
>> It also sets up an exception frame. FPC uses setjmp/longjmp for that, which means that while restoring everything when an exception happens is fast, saving the exception frame itself is relatively slow.
> 
> Ok so just to confirm does disabling   $IMPLICITEXCEPTIONS leak memory with ref counted types if a function exists early?

No, local variables are still finalised on exiting the function. Only 
when an exception happens, the the exit code that contains this 
finalisation won't execute


Jonas


More information about the fpc-pascal mailing list