[libc-commits] [libc] [libc][math] Implement double precision cbrt correctly rounded to all rounding modes. (PR #99262)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Wed Jul 17 09:26:53 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `libc-x86_64-debian-gcc-fullbuild-dbg` running on `libc-x86_64-debian-fullbuild` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/131/builds/2342

Here is the relevant piece of the build log for the reference:
```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[763/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fma.__internal__.dir/fma.cpp.o
[764/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmaf.dir/fmaf.cpp.o
[765/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fma.dir/fma.cpp.o
[766/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf128.dir/scalbnf128.cpp.o
[767/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_uc.__internal__.dir/stdc_leading_zeros_uc.cpp.o
[768/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.__NO_FMA_OPT.__internal__.dir/cbrtf.cpp.o
[769/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_us.__internal__.dir/stdc_leading_zeros_us.cpp.o
[770/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.__internal__.dir/cbrtf.cpp.o
[771/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_ui.__internal__.dir/stdc_leading_zeros_ui.cpp.o
[772/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -fpie -ffreestanding -DLIBC_FULL_BUILD -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 -mno-omit-leaf-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -O3 -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::intial_approximation(double)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:47:35: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   47 |   double c0 = fputil::multiply_add(x, COEFFS[1], COEFFS[0]);
      |               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/PolyEval.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:13:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/multiply_add.h:53:20: note: ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’ declared here
   53 | LIBC_INLINE double multiply_add(double x, double y, double z) {
      |                    ^~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::get_error(const __llvm_libc_19_0_0_git::DoubleDouble&, const __llvm_libc_19_0_0_git::DoubleDouble&)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:63:30: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   63 |   return fputil::multiply_add(x_3.hi, a_sq.hi, -1.0) +
      |          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/multiply_add.h:53:20: note: ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’ declared here
   53 | LIBC_INLINE double multiply_add(double x, double y, double z) {
      |                    ^~~~~~~~~~~~
[773/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_ul.__internal__.dir/stdc_leading_zeros_ul.cpp.o
[774/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.atanhf.__NO_ROUND_OPT.__internal__.dir/atanhf.cpp.o
[775/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_ull.__internal__.dir/stdc_leading_zeros_ull.cpp.o
[776/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.__NO_FMA_OPT.dir/cbrtf.cpp.o
[777/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_ones_uc.__internal__.dir/stdc_leading_ones_uc.cpp.o
[778/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_ones_ui.__internal__.dir/stdc_leading_ones_ui.cpp.o
[779/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -fpie -ffreestanding -DLIBC_FULL_BUILD -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 -mno-omit-leaf-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -O3 -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::intial_approximation(double)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:47:35: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   47 |   double c0 = fputil::multiply_add(x, COEFFS[1], COEFFS[0]);
      |               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/PolyEval.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:13:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/multiply_add.h:53:20: note: ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’ declared here
   53 | LIBC_INLINE double multiply_add(double x, double y, double z) {
      |                    ^~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::get_error(const __llvm_libc_19_0_0_git::DoubleDouble&, const __llvm_libc_19_0_0_git::DoubleDouble&)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:63:30: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   63 |   return fputil::multiply_add(x_3.hi, a_sq.hi, -1.0) +
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[763/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fma.__internal__.dir/fma.cpp.o
[764/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmaf.dir/fmaf.cpp.o
[765/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fma.dir/fma.cpp.o
[766/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf128.dir/scalbnf128.cpp.o
[767/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_uc.__internal__.dir/stdc_leading_zeros_uc.cpp.o
[768/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.__NO_FMA_OPT.__internal__.dir/cbrtf.cpp.o
[769/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_us.__internal__.dir/stdc_leading_zeros_us.cpp.o
[770/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.__internal__.dir/cbrtf.cpp.o
[771/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_ui.__internal__.dir/stdc_leading_zeros_ui.cpp.o
[772/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -fpie -ffreestanding -DLIBC_FULL_BUILD -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 -mno-omit-leaf-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -O3 -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.__internal__.dir/cbrt.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::intial_approximation(double)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:47:35: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   47 |   double c0 = fputil::multiply_add(x, COEFFS[1], COEFFS[0]);
      |               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/PolyEval.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:13:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/multiply_add.h:53:20: note: ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’ declared here
   53 | LIBC_INLINE double multiply_add(double x, double y, double z) {
      |                    ^~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::get_error(const __llvm_libc_19_0_0_git::DoubleDouble&, const __llvm_libc_19_0_0_git::DoubleDouble&)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:63:30: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   63 |   return fputil::multiply_add(x_3.hi, a_sq.hi, -1.0) +
      |          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/multiply_add.h:53:20: note: ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’ declared here
   53 | LIBC_INLINE double multiply_add(double x, double y, double z) {
      |                    ^~~~~~~~~~~~
[773/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_ul.__internal__.dir/stdc_leading_zeros_ul.cpp.o
[774/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.atanhf.__NO_ROUND_OPT.__internal__.dir/atanhf.cpp.o
[775/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_zeros_ull.__internal__.dir/stdc_leading_zeros_ull.cpp.o
[776/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrtf.__NO_FMA_OPT.dir/cbrtf.cpp.o
[777/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_ones_uc.__internal__.dir/stdc_leading_ones_uc.cpp.o
[778/3763] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_leading_ones_ui.__internal__.dir/stdc_leading_ones_ui.cpp.o
[779/3763] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -fpie -ffreestanding -DLIBC_FULL_BUILD -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 -mno-omit-leaf-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -O3 -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.cbrt.dir/cbrt.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::intial_approximation(double)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:47:35: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   47 |   double c0 = fputil::multiply_add(x, COEFFS[1], COEFFS[0]);
      |               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/PolyEval.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:13:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/multiply_add.h:53:20: note: ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’ declared here
   53 | LIBC_INLINE double multiply_add(double x, double y, double z) {
      |                    ^~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp: In function ‘constexpr double __llvm_libc_19_0_0_git::{anonymous}::get_error(const __llvm_libc_19_0_0_git::DoubleDouble&, const __llvm_libc_19_0_0_git::DoubleDouble&)’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/math/generic/cbrt.cpp:63:30: error: call to non-‘constexpr’ function ‘double __llvm_libc_19_0_0_git::fputil::multiply_add(double, double, double)’
   63 |   return fputil::multiply_add(x_3.hi, a_sq.hi, -1.0) +

```

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


More information about the libc-commits mailing list