[fpc-pascal] InterlockedExchangeAdd64
    Adriaan van Os 
    adriaan at adriaan.biz
       
    Sat Jan 11 07:53:34 CET 2025
    
    
  
Sven Barth via fpc-pascal wrote:
> Am 10.01.2025 um 15:43 schrieb Adriaan van Os via fpc-pascal:
>>
>> I have an arm64 (aarch64) test program on MacOS that calls 
>> InterlockedExchangeAdd64 with a target variable that is not 8-byte 
>> aligned. Running the test program emits "EBusError: Bus error or 
>> misaligned data access".
>>
>> So far so good.
>>
>> But now I install a system.ErrorProc and run the same program. It 
>> emits, instead of the EBusError, Runtime Error 214.
>>
>> This puzzles me.
> 
> This is as designed, because the ErrorProc is what is used by the 
> SysUtils unit to convert runtime errors to exceptions. If you want to 
> implement your own handling, then store the original value of ErrorProc, 
> assign your own handler, do your own handling and at the end call the 
> saved ErrorProc.
I don't want to handle the error, I want a meaningful error. And Runtime Error 214 "Collection 
overflow" is nonsense.
Regards,
Adriaan van Os
    
    
More information about the fpc-pascal
mailing list