http://bugs.winehq.org/show_bug.cgi?id=58381
Bug ID: 58381 Summary: "musl: Use __builtin_rint if available" breaks clang builds (except aarch64) Product: Wine Version: 9.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvcrt Assignee: wine-bugs@winehq.org Reporter: martin@martin.st CC: piotr@codeweavers.com Regression SHA1: ee6e83dca874491329c5b376c2f9563093e3c69f Distribution: ---
Since "musl: Use __builtin_rint if available", ee6e83dca874491329c5b376c2f9563093e3c69f, any calls to rint end up in infinite loops, when built with Clang (except on aarch64).
If Clang doesn't have any good implementation of "__builtin_rint", it generates a function call to "rint", even if built with -fno-builtin. See https://gcc.godbolt.org/z/aYb3c1Ks1 for examples of the generated code. Only on aarch64, Clang generates an inline implementation.