It will not work with other compilers as well
not sure what you mean. the failure is specific to 32-bit gcc - should the fix be free of #ifdef's?
I would try doing something like... It's not tested
will give that a try
or set/restore precision around the function
had tried something like that, based on MSVCRT_rint, that also works: https://gitlab.winehq.org/dlehman25/wine/-/commits/rint-cp would that be ok? (full build fails, but works if i rebuild musl + msvcrt + d3dcompiler_4*)