[fpc-devel] MM_MaskInvalidOp in mxcsr
Jonas Maebe
jonas.maebe at elis.ugent.be
Sat Sep 4 11:52:57 CEST 2010
On 03 Sep 2010, at 12:05, Markus Beth wrote:
> Is there a reason why MM_MaskInvalidOp is not set in mxcsr in
> rtl/x86_64/x86_64.inc?
Because on all FPC platforms, the default behaviour is that an invalid floating point operation causes an exception.
> I have a 3rd party application that depends on InvalidOp to be masked
> out. I want to extend this application with a FPC library. But the
> initialization code of the library (SysInitFPU) unmasks the InvalidOp
> exception.
That's this problem: http://bugs.freepascal.org/view.php?id=16263
> I now call "SetSSECSR(GetSSECSR or $0080);" in the initialization
> section of my main unit
You should use math.SetExceptionMask instead, the above can lead to inconsistent situations.
> to mask out the InvalidOp exception again.
> But I wonder if this could break something (in rtl or internal FPC
> functions).
No, unless you have code that depends on exceptions being generated for invalid floating point operations.
Jonas
More information about the fpc-devel
mailing list