On Tue, 11 Mar 2025, Jacek Caban wrote:
Since the current mingw-w64 uses a different layout for fenv_t and constant
values, this changes the ABI.
Based on Wine code by Piotr Caban Alexandre Julliard and Martin Storsjö, who
granted permission to use it under the mingw-w64 license.
Unlike earlier versions, msvcr120 and UCRT implement fenv.h, but their
representation differs from what mingw-w64 has used so far. fenv_t has a
target-independent layout and flags, requiring translation to and from
machine-specific flags. Generic helpers handle this conversion.
On Windows x86_64, these functions operate only on SSE registers, ignoring x87.
Since mingw long doubles use x87, they would be unaffected by these calls.
Actually, it's not only due to the long doubles, it's also because many of
the mingw-w64 math functions simply are implemented with x87 instructions.
Other than that, I think that this looks good to me now - thanks!
// Martin
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public