Issue |
139481
|
Summary |
fmaximum_num incorrect result for -0/+0
|
Labels |
new issue
|
Assignees |
|
Reporter |
gonzalobg
|
See https://clang.godbolt.org/z/3W6f9faaK
Reproduced below.
When the inputs of maximum_num are -0 and +0, it always returns +0.
However, clang returns -0.
```cpp
#include <cmath>
#include <print>
int main() {
using T = double;
T nz = T(-0.);
T pz = T(+0.);
T r = fmaximum_num(pz,nz);
int v = std::memcmp(&r, &pz, sizeof(double));
if (v == 0) return 0;
std::println(stderr, "ERROR: {} != {}", r, pz);
return 1;
}
```
cc @lntue
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs