[libc-commits] [libc] [llvm] [libc][math] Refactor acoshf implementation to header-only in src/__support/math folder. (PR #148418)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Mon Jul 21 13:04:45 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `libc-aarch64-ubuntu-dbg` running on `libc-aarch64-ubuntu` while building `libc,utils` at step 4 "annotate".

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

<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/libc-linux.py ...' (failure)
...
[       OK ] LlvmLibcSinCosfTest.SpecialValues (2 ms)
[ RUN      ] LlvmLibcSinCosfTest.SDCOMP_26094
[       OK ] LlvmLibcSinCosfTest.SDCOMP_26094 (320 us)
Ran 4 tests.  PASS: 4  FAIL: 0
[162/1137] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.log10.__internal__.dir/log10.cpp.o
[163/1137] Linking CXX executable libc/test/src/math/libc.test.src.math.log2_test.__unit__.__build__
[164/1137] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.coshf_test.__unit__.__build__.dir/coshf_test.cpp.o
[165/1137] Linking CXX executable libc/test/src/math/libc.test.src.math.log10_test.__unit__.__build__
[166/1137] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.sinhf_test.__unit__.__build__.dir/sinhf_test.cpp.o
[167/1137] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o
FAILED: libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc -isystem libc/include -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 -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -fpie -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 -std=gnu++17 -MD -MT libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o -MF libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o.d -o libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/explogxf_test.cpp
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/explogxf_test.cpp:47:47: error: no member named 'log_eval' in namespace '__llvm_libc_20_0_0_git'; did you mean '__llvm_libc_20_0_0_git::acoshf_internal::log_eval'?
  CHECK_DATA(0.0f, inf, mpfr::Operation::Log, LIBC_NAMESPACE::log_eval,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
                                              __llvm_libc_20_0_0_git::acoshf_internal::log_eval
<command line>:1:24: note: expanded from here
#define LIBC_NAMESPACE __llvm_libc_20_0_0_git
                       ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/in_float_range_test_helper.h:20:71: note: expanded from macro 'CHECK_DATA'
        EXPECT_MPFR_MATCH_ALL_ROUNDING(mfp_op, x, static_cast<float>((f)(x)),  \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.h:420:36: note: expanded from macro 'EXPECT_MPFR_MATCH_ALL_ROUNDING'
      EXPECT_MPFR_MATCH(op, input, match_value, ulp_tolerance,                 \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/UnitTest/LibcTest.h:509:20: note: expanded from macro 'EXPECT_THAT'
  LIBC_TEST_MATCH_(MATCHER, MATCH, #MATCHER, #MATCH, )
  ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/UnitTest/LibcTest.h:504:42: note: expanded from macro 'LIBC_TEST_MATCH_'
  LIBC_TEST_SCAFFOLDING_(matchAndExplain(MATCHER, MATCH, MATCHER_STR,          \
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/UnitTest/LibcTest.h:423:7: note: expanded from macro 'LIBC_TEST_SCAFFOLDING_'
  if (TEST)                                                                    \
      ^~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/acoshf_utils.h:22:27: note: '__llvm_libc_20_0_0_git::acoshf_internal::log_eval' declared here
LIBC_INLINE static double log_eval(double x) {
                          ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/explogxf_test.cpp:47:47: error: no member named 'log_eval' in namespace '__llvm_libc_20_0_0_git'; did you mean '__llvm_libc_20_0_0_git::acoshf_internal::log_eval'?
  CHECK_DATA(0.0f, inf, mpfr::Operation::Log, LIBC_NAMESPACE::log_eval,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
                                              __llvm_libc_20_0_0_git::acoshf_internal::log_eval
<command line>:1:24: note: expanded from here
#define LIBC_NAMESPACE __llvm_libc_20_0_0_git
                       ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/in_float_range_test_helper.h:20:71: note: expanded from macro 'CHECK_DATA'
        EXPECT_MPFR_MATCH_ALL_ROUNDING(mfp_op, x, static_cast<float>((f)(x)),  \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.h:420:36: note: expanded from macro 'EXPECT_MPFR_MATCH_ALL_ROUNDING'
Step 7 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[       OK ] LlvmLibcSinCosfTest.SpecialValues (2 ms)
[ RUN      ] LlvmLibcSinCosfTest.SDCOMP_26094
[       OK ] LlvmLibcSinCosfTest.SDCOMP_26094 (320 us)
Ran 4 tests.  PASS: 4  FAIL: 0
[162/1137] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.log10.__internal__.dir/log10.cpp.o
[163/1137] Linking CXX executable libc/test/src/math/libc.test.src.math.log2_test.__unit__.__build__
[164/1137] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.coshf_test.__unit__.__build__.dir/coshf_test.cpp.o
[165/1137] Linking CXX executable libc/test/src/math/libc.test.src.math.log10_test.__unit__.__build__
[166/1137] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.sinhf_test.__unit__.__build__.dir/sinhf_test.cpp.o
[167/1137] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o
FAILED: libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc -isystem libc/include -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 -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -fpie -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 -std=gnu++17 -MD -MT libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o -MF libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o.d -o libc/test/src/math/CMakeFiles/libc.test.src.math.explogxf_test.__unit__.__NO_MISC_MATH_BASIC_OPS_OPT.__build__.dir/explogxf_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/explogxf_test.cpp
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/explogxf_test.cpp:47:47: error: no member named 'log_eval' in namespace '__llvm_libc_20_0_0_git'; did you mean '__llvm_libc_20_0_0_git::acoshf_internal::log_eval'?
  CHECK_DATA(0.0f, inf, mpfr::Operation::Log, LIBC_NAMESPACE::log_eval,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
                                              __llvm_libc_20_0_0_git::acoshf_internal::log_eval
<command line>:1:24: note: expanded from here
#define LIBC_NAMESPACE __llvm_libc_20_0_0_git
                       ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/in_float_range_test_helper.h:20:71: note: expanded from macro 'CHECK_DATA'
        EXPECT_MPFR_MATCH_ALL_ROUNDING(mfp_op, x, static_cast<float>((f)(x)),  \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.h:420:36: note: expanded from macro 'EXPECT_MPFR_MATCH_ALL_ROUNDING'
      EXPECT_MPFR_MATCH(op, input, match_value, ulp_tolerance,                 \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/UnitTest/LibcTest.h:509:20: note: expanded from macro 'EXPECT_THAT'
  LIBC_TEST_MATCH_(MATCHER, MATCH, #MATCHER, #MATCH, )
  ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/UnitTest/LibcTest.h:504:42: note: expanded from macro 'LIBC_TEST_MATCH_'
  LIBC_TEST_SCAFFOLDING_(matchAndExplain(MATCHER, MATCH, MATCHER_STR,          \
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/UnitTest/LibcTest.h:423:7: note: expanded from macro 'LIBC_TEST_SCAFFOLDING_'
  if (TEST)                                                                    \
      ^~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/acoshf_utils.h:22:27: note: '__llvm_libc_20_0_0_git::acoshf_internal::log_eval' declared here
LIBC_INLINE static double log_eval(double x) {
                          ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/explogxf_test.cpp:47:47: error: no member named 'log_eval' in namespace '__llvm_libc_20_0_0_git'; did you mean '__llvm_libc_20_0_0_git::acoshf_internal::log_eval'?
  CHECK_DATA(0.0f, inf, mpfr::Operation::Log, LIBC_NAMESPACE::log_eval,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
                                              __llvm_libc_20_0_0_git::acoshf_internal::log_eval
<command line>:1:24: note: expanded from here
#define LIBC_NAMESPACE __llvm_libc_20_0_0_git
                       ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/test/src/math/in_float_range_test_helper.h:20:71: note: expanded from macro 'CHECK_DATA'
        EXPECT_MPFR_MATCH_ALL_ROUNDING(mfp_op, x, static_cast<float>((f)(x)),  \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.h:420:36: note: expanded from macro 'EXPECT_MPFR_MATCH_ALL_ROUNDING'

```

</details>

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


More information about the libc-commits mailing list