Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[libc++][math] Provide overloads for cv-unqualified floating point ty…
…pes for `std::signbit` (#106566) ## Why Following up on #105946, this patch provides the floating point overloads for `std::signbit` as defined by [P0533R9](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf). ## What * Test and add overloads for cv-unqualified floating point types * Remove constrained overload as it is not needed anymore * Make use of `template<class = void>` as the universal C runtime (UCRT) needed for Clang-Cl comes with overloads for all cv-unqualified floating point types (float, double, long double) for `std::signbit()` by itself [in the WinSDK](https://github.com/microsoft/win32metadata/blob/e012b29924c53aa941fc010850b68331b0c3ea80/generation/WinSDK/RecompiledIdlHeaders/ucrt/corecrt_math.h#L309-L322). In a certain way, this can be seen as a deviation from the C standard. We need to work around it as the compilation would otherwise error out due to duplicated definitions.
- Loading branch information