[libc-commits] [libc] [libc] Enable intermediate computation in float for baremetal (PR #163622)
LLVM Continuous Integration via libc-commits
libc-commits at lists.llvm.org
Wed Oct 15 16:48:44 PDT 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `fuchsia-x86_64-linux` running on `fuchsia-debian-64-us-central1-b-1` while building `libc` at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/26090
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[859/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nextdownbf16.dir/nextdownbf16.cpp.obj
[860/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ufromfpxl.dir/ufromfpxl.cpp.obj
[861/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.tanhf.dir/tanhf.cpp.obj
[862/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.atanhf.dir/atanhf.cpp.obj
[863/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nextupbf16.dir/nextupbf16.cpp.obj
[864/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fdimbf16.dir/fdimbf16.cpp.obj
[865/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ffma.dir/ffma.cpp.obj
[866/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ffmal.dir/ffmal.cpp.obj
[867/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmodbf16.dir/fmodbf16.cpp.obj
[868/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-52kagzfa/./bin/clang++ --target=armv6m-none-eabi -DLIBC_NAMESPACE=__llvm_libc_22_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-52kagzfa/include/armv6m-unknown-none-eabi --target=armv6m-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dfputs(string, stream)=puts(string)" -D_LIBCPP_PRINT=1 -mthumb -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -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 -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-52kagzfa/runtimes/runtimes-armv6m-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG --target=armv6m-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES | LIBC_MATH_INTERMEDIATE_COMP_IN_FLOAT)" -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_EXTERNAL -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_SINGLE -DLIBC_TARGET_OS_IS_BAREMETAL -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/atan2f.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/atan2f.cpp:10:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/math/atan2f.h:16:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/double_double.h:83:13: error: implicit conversion loses floating-point precision: 'double' to 'float' [-Werror,-Wimplicit-float-conversion]
83 | r.hi = t1 + t2;
| ~ ~~~^~~~
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/double_double.h:139:24: note: in instantiation of function template specialization '__llvm_libc_22_0_0_git::fputil::split<float, 12U>' requested here
139 | NumberPair<T> as = split(a);
| ^
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/math/atan2f_float.h:223:30: note: in instantiation of function template specialization '__llvm_libc_22_0_0_git::fputil::exact_mult<float, 12U>' requested here
223 | FloatFloat num_k = fputil::exact_mult(num, k);
| ^
1 error generated.
[869/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.atanf.dir/atanf.cpp.obj
[870/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalordermag.dir/totalordermag.cpp.obj
[871/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalorder.dir/totalorder.cpp.obj
[872/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalorderf.dir/totalorderf.cpp.obj
[873/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalorderl.dir/totalorderl.cpp.obj
[874/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalordermagf.dir/totalordermagf.cpp.obj
[875/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmaf.dir/fmaf.cpp.obj
[876/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalordermagl.dir/totalordermagl.cpp.obj
[877/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalblnf.dir/scalblnf.cpp.obj
[878/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.remquobf16.dir/remquobf16.cpp.obj
[879/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.remainderbf16.dir/remainderbf16.cpp.obj
[880/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.acoshf.dir/acoshf.cpp.obj
[881/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.getpayload.dir/getpayload.cpp.obj
[882/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbln.dir/scalbln.cpp.obj
[883/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.getpayloadl.dir/getpayloadl.cpp.obj
[884/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.getpayloadf.dir/getpayloadf.cpp.obj
[885/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.asinhf.dir/asinhf.cpp.obj
[886/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbn.dir/scalbn.cpp.obj
[887/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.setpayloadf.dir/setpayloadf.cpp.obj
[888/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.dir/cbrtf.cpp.obj
[889/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnl.dir/scalbnl.cpp.obj
[890/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalblnl.dir/scalblnl.cpp.obj
[891/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.setpayload.dir/setpayload.cpp.obj
[892/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.setpayloadl.dir/setpayloadl.cpp.obj
[893/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf.dir/scalbnf.cpp.obj
Step 6 (build) failure: build (failure)
...
[859/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nextdownbf16.dir/nextdownbf16.cpp.obj
[860/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ufromfpxl.dir/ufromfpxl.cpp.obj
[861/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.tanhf.dir/tanhf.cpp.obj
[862/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.atanhf.dir/atanhf.cpp.obj
[863/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nextupbf16.dir/nextupbf16.cpp.obj
[864/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fdimbf16.dir/fdimbf16.cpp.obj
[865/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ffma.dir/ffma.cpp.obj
[866/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ffmal.dir/ffmal.cpp.obj
[867/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmodbf16.dir/fmodbf16.cpp.obj
[868/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-52kagzfa/./bin/clang++ --target=armv6m-none-eabi -DLIBC_NAMESPACE=__llvm_libc_22_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-52kagzfa/include/armv6m-unknown-none-eabi --target=armv6m-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dfputs(string, stream)=puts(string)" -D_LIBCPP_PRINT=1 -mthumb -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -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 -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-52kagzfa/runtimes/runtimes-armv6m-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG --target=armv6m-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES | LIBC_MATH_INTERMEDIATE_COMP_IN_FLOAT)" -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_EXTERNAL -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_SINGLE -DLIBC_TARGET_OS_IS_BAREMETAL -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/atan2f.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/atan2f.cpp:10:
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/math/atan2f.h:16:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/double_double.h:83:13: error: implicit conversion loses floating-point precision: 'double' to 'float' [-Werror,-Wimplicit-float-conversion]
83 | r.hi = t1 + t2;
| ~ ~~~^~~~
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/double_double.h:139:24: note: in instantiation of function template specialization '__llvm_libc_22_0_0_git::fputil::split<float, 12U>' requested here
139 | NumberPair<T> as = split(a);
| ^
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/math/atan2f_float.h:223:30: note: in instantiation of function template specialization '__llvm_libc_22_0_0_git::fputil::exact_mult<float, 12U>' requested here
223 | FloatFloat num_k = fputil::exact_mult(num, k);
| ^
1 error generated.
[869/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.atanf.dir/atanf.cpp.obj
[870/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalordermag.dir/totalordermag.cpp.obj
[871/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalorder.dir/totalorder.cpp.obj
[872/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalorderf.dir/totalorderf.cpp.obj
[873/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalorderl.dir/totalorderl.cpp.obj
[874/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalordermagf.dir/totalordermagf.cpp.obj
[875/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmaf.dir/fmaf.cpp.obj
[876/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.totalordermagl.dir/totalordermagl.cpp.obj
[877/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalblnf.dir/scalblnf.cpp.obj
[878/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.remquobf16.dir/remquobf16.cpp.obj
[879/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.remainderbf16.dir/remainderbf16.cpp.obj
[880/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.acoshf.dir/acoshf.cpp.obj
[881/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.getpayload.dir/getpayload.cpp.obj
[882/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbln.dir/scalbln.cpp.obj
[883/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.getpayloadl.dir/getpayloadl.cpp.obj
[884/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.getpayloadf.dir/getpayloadf.cpp.obj
[885/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.asinhf.dir/asinhf.cpp.obj
[886/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbn.dir/scalbn.cpp.obj
[887/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.setpayloadf.dir/setpayloadf.cpp.obj
[888/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.dir/cbrtf.cpp.obj
[889/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnl.dir/scalbnl.cpp.obj
[890/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalblnl.dir/scalblnl.cpp.obj
[891/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.setpayload.dir/setpayload.cpp.obj
[892/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.setpayloadl.dir/setpayloadl.cpp.obj
[893/2598] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf.dir/scalbnf.cpp.obj
```
</details>
https://github.com/llvm/llvm-project/pull/163622
More information about the libc-commits
mailing list