[libc-commits] [libc] [libc][math] Qualify f16add functions to constexpr (PR #195429)

via libc-commits libc-commits at lists.llvm.org
Sat May 2 01:34:50 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -D__LIBC_MISC_MATH_BASIC_OPS_OPT -D__LIBC_USE_BUILTIN_FMAX_FMIN -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -mavx2 -mfma -msse4.2 -D__LIBC_MISC_MATH_BASIC_OPS_OPT -D__LIBC_USE_BUILTIN_FMAX_FMIN -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -mavx2 -mfma -D__LIBC_MISC_MATH_BASIC_OPS_OPT -D__LIBC_USE_BUILTIN_FMAX_FMIN -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -msse4.2 -D__LIBC_MISC_MATH_BASIC_OPS_OPT -D__LIBC_USE_BUILTIN_FMAX_FMIN -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -mavx2 -mfma -msse4.2 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__NO_ROUND_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>
<details>
<summary>libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o</summary>

```
FAILED: libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -UNDEBUG -msse4.2 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -Wall -Wextra -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -MD -MT libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -MF libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o.d -o libc/test/shared/CMakeFiles/libc.test.shared.shared_math_constexpr_test.__unit__.__NO_FMA_OPT.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/shared_math_constexpr_test.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:15: error: static assertion expression is not an integral constant expression
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/CPP/bit.h:52:10: note: indeterminate value can only initialize an object of type 'unsigned char' or 'std::byte'; 'unsigned __int128' is invalid
52 |   return __builtin_bit_cast(To, from);
|          ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/FPBits.h:841:18: note: in call to 'bit_cast<unsigned __int128, long double>(x)'
841 |       UP::bits = cpp::bit_cast<StorageType>(x);
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:47:12: note: in call to 'FPBits<long double>(1.000000e+00)'
47 |   InFPBits x_bits(x);
|            ^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/add_sub.h:215:10: note: in call to 'add_or_sub<false, _Float16, long double>(1.000000e+00, 2.000000e+00)'
215 |   return add_or_sub</*IsSub=*/false, OutType>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/f16addl.h:23:10: note: in call to 'add<_Float16, long double>(1.000000e+00, 2.000000e+00)'
23 |   return fputil::generic::add<float16>(x, y);
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:117:25: note: in call to 'f16addl(1.000000e+00, 2.000000e+00)'
117 | static_assert(3.0f16 == LIBC_NAMESPACE::shared::f16addl(1.0L, 2.0L));
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<command line>:1:24: note: expanded from macro 'LIBC_NAMESPACE'
1 | #define LIBC_NAMESPACE __llvm_libc_23_0_0_git
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, __llvm_libc_23_0_0_git::fputil::BFloat16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardbf16.h:22:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<__llvm_libc_23_0_0_git::fputil::BFloat16, long double, 0>' requested here
22 |   return fputil::nextafter(x, y);
|                  ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/test/shared/shared_math_constexpr_test.cpp:11:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/shared/math/acos.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/acos.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/sqrt.h:15:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/generic/sqrt.h:16:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/cast.h:55:18: error: shift count is negative [-Werror,-Wshift-count-negative]
55 |           x_mant >>= InFPBits::FRACTION_LEN - OutFPBits::FRACTION_LEN;
|                  ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/FPUtil/ManipulationFunctions.h:225:7: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::cast<long double, _Float16>' requested here
225 |   if (cast<U>(from) == to)
|       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/nexttowardf16.h:26:18: note: in instantiation of function template specialization '__llvm_libc_23_0_0_git::fputil::nextafter<_Float16, long double, 0>' requested here
26 |   return fputil::nextafter(x, y);
|                  ^
3 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/195429


More information about the libc-commits mailing list