[libc-commits] [libc] [libc][math][c23] Fix setpayloadsig smoke test on RV32 (PR #102538)
Mikhail R. Gadelha via libc-commits
libc-commits at lists.llvm.org
Thu Aug 8 16:57:34 PDT 2024
mikhailramalho wrote:
The following is still crashing:
```
/home/mgadelha/tools/llvm-project/libc/test/src/math/smoke/SetPayloadSigTest.h:71:48: error: no viable conversion from 'long double' to 'StorageType' (aka 'BigInt<128U, false, unsigned long long>')
71 | EXPECT_EQ(FPBits::signaling_nan(Sign::POS, nan_payload).uintval(),
| ^~~~~~~~~~~
/home/mgadelha/tools/llvm-project/libc/test/UnitTest/LibcTest.h:420:50: note: expanded from macro 'EXPECT_EQ'
420 | #define EXPECT_EQ(LHS, RHS) LIBC_TEST_BINOP_(EQ, LHS, RHS, )
| ^~~
/home/mgadelha/tools/llvm-project/libc/test/UnitTest/LibcTest.h:413:72: note: expanded from macro 'LIBC_TEST_BINOP_'
413 | LIBC_TEST_SCAFFOLDING_(test(LIBC_NAMESPACE::testing::TestCond::COND, LHS, \
| ^~~
/home/mgadelha/tools/llvm-project/libc/test/UnitTest/LibcTest.h:406:7: note: expanded from macro 'LIBC_TEST_SCAFFOLDING_'
406 | if (TEST) \
| ^~~~
/home/mgadelha/tools/llvm-project/libc/test/src/math/smoke/setpayloadsigf128_test.cpp:13:1: note: in instantiation of member function 'SetPayloadSigTestTemplate<long double>::testValidPayloads' requested here
13 | LIST_SETPAYLOADSIG_TESTS(float128, LIBC_NAMESPACE::setpayloadsigf128)
| ^
/home/mgadelha/tools/llvm-project/libc/test/src/math/smoke/SetPayloadSigTest.h:81:54: note: expanded from macro 'LIST_SETPAYLOADSIG_TESTS'
81 | TEST_F(LlvmLibcSetPayloadSigTest, ValidPayloads) { testValidPayloads(&func); }
| ^
/home/mgadelha/tools/llvm-project/libc/src/__support/big_int.h:362:25: note: candidate constructor not viable: no known conversion from 'long double' to 'const BigInt<128, false> &' for 1st argument
362 | LIBC_INLINE constexpr BigInt(const BigInt &other) = default;
| ^ ~~~~~~~~~~~~~~~~~~~
/home/mgadelha/tools/llvm-project/libc/src/__support/big_int.h:365:25: note: candidate template ignored: could not match 'BigInt<OtherBits, OtherSigned, unsigned long long>' against 'long double'
365 | LIBC_INLINE constexpr BigInt(
| ^
/home/mgadelha/tools/llvm-project/libc/src/__support/big_int.h:379:45: note: candidate template ignored: could not match 'unsigned long long[N]' against 'long double'
379 | template <size_t N> LIBC_INLINE constexpr BigInt(const WordType (&nums)[N]) {
| ^
/home/mgadelha/tools/llvm-project/libc/src/__support/big_int.h:393:25: note: candidate template ignored: substitution failure [with T = long double]: implicit instantiation of undefined template '__llvm_libc_20_0_0_git::cpp::enable_if<false>'
393 | LIBC_INLINE constexpr BigInt(T v) {
| ^
/home/mgadelha/tools/llvm-project/libc/src/__support/big_int.h:385:34: note: explicit constructor is not a candidate
385 | LIBC_INLINE constexpr explicit BigInt(
| ^
/home/mgadelha/tools/llvm-project/libc/src/__support/FPUtil/FPBits.h:394:63: note: passing argument to parameter 'v' here
394 | StorageType v = 0) {
| ^
1 error generated.
https://github.com/llvm/llvm-project/pull/102538
More information about the libc-commits
mailing list