On Tue, Jun 20, 2017 at 10:53:32AM -0400, Anthony Walter wrote: > Some progress ... Since this is an OpenGL app I had been > setting Set8087CW($133F) to prevent FPU errors from showing as exceptions. > When I omit Set8087CW I get EDivByZero an exception, but my program is > still in an unusable state. > > Since this error occurs in the SSE XMM registers, I think I should also be > using the SetSSECSR function. Does anyone have any details about how this > function works in relation to XMM registers and rounding or divide by zero > errors and how it could be applied in my situation?
I use this for all my programs that use C libraries: {$if defined(cpui386) or defined(cpux86_64)} SetExceptionMask(GetExceptionMask + [exZeroDivide, exInvalidOp]); {$ifend} Works fine with libs like OpenCV, etc. Henry _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel