[fpc-pascal] EControlC instead of EZeroDivide when using SSE instructions

Jonas Maebe jonas.maebe at elis.ugent.be
Wed Aug 22 13:28:40 CEST 2012


OBones wrote on Wed, 22 Aug 2012:

> Olivier SANNIER wrote:
>> Does any of you have any suggestion as to explain this behavior, and best of
>> all, how to fix it?
> I went further and changed the code this so that I can get better  
> details as to where the exception is coming from:

EControlC is the translation of run time error 217. The Win32  
exception handler also sets error code 217 in case of an unknown  
exception  (the Win64 exception handler does the same, for that  
matter). Apparently Win32 is not reporting that division-by-zero as  
either STATUS_INTEGER_DIVIDE_BY_ZERO or STATUS_FLOAT_DIVIDE_BY_ZERO,  
while Win64 does do this.

You can try debugging syswin32_i386_exception_handler in  
rtl/win32/system.pp to see what exception Win32 reports instead.


Jonas



More information about the fpc-pascal mailing list