[libc-commits] [libc] [libc][math] Fix incorrect logic in fputil::generic::add_or_sub (PR #116129)
LLVM Continuous Integration via libc-commits
libc-commits at lists.llvm.org
Tue Mar 18 07:08:13 PDT 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `libc-riscv64-debian-dbg` running on `libc-riscv64-debian` while building `libc` at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/188/builds/11972
<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)
...
[ RUN ] LlvmLibcFEnvTest.RaiseAndCrash
[ OK ] LlvmLibcFEnvTest.RaiseAndCrash (4 us)
Ran 1 tests. PASS: 1 FAIL: 0
[106/1512] Running unit test libc.test.src.fenv.enabled_exceptions_test.__unit__
[==========] Running 1 test from 1 test suite.
[ RUN ] LlvmLibcExceptionStatusTest.RaiseAndCrash
[ OK ] LlvmLibcExceptionStatusTest.RaiseAndCrash (5 us)
Ran 1 tests. PASS: 1 FAIL: 0
[107/1512] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fsubf128.__NO_FMA_OPT.dir/fsubf128.cpp.o
[108/1512] Building CXX object libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o
FAILED: libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc -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 -O3 -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 -std=gnu++17 -MD -MT libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o -MF libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o.d -o libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:405:15: error: duplicate explicit instantiation of 'explain_binary_operation_one_output_error<long double, long double>'
template void explain_binary_operation_one_output_error(
^
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:390:1: note: previous explicit instantiation is here
explain_binary_operation_one_output_error(Operation,
^
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:633:15: error: duplicate explicit instantiation of 'compare_binary_operation_one_output<long double, long double>'
template bool compare_binary_operation_one_output(Operation,
^
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:609:1: note: previous explicit instantiation is here
compare_binary_operation_one_output(Operation, const BinaryInput<long double> &,
^
2 errors generated.
[109/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.daddl_test.__unit__.__build__.dir/daddl_test.cpp.o
[110/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.daddl_test.__unit__.__NO_FMA_OPT.__build__.dir/daddl_test.cpp.o
[111/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.fadd_test.__unit__.__build__.dir/fadd_test.cpp.o
[112/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.fadd_test.__unit__.__NO_FMA_OPT.__build__.dir/fadd_test.cpp.o
[113/1512] Running unit test libc.test.src.__support.hash_test.__unit__
[==========] Running 4 tests from 1 test suite.
[ RUN ] LlvmLibcHashTest.SanityCheck
[ OK ] LlvmLibcHashTest.SanityCheck (7 ms)
[ RUN ] LlvmLibcHashTest.Avalanche
[ OK ] LlvmLibcHashTest.Avalanche (2634 ms)
[ RUN ] LlvmLibcHashTest.UniformLSB
[ OK ] LlvmLibcHashTest.UniformLSB (1838 ms)
[ RUN ] LlvmLibcHashTest.UniformMSB
[ OK ] LlvmLibcHashTest.UniformMSB (480 us)
Ran 4 tests. PASS: 4 FAIL: 0
ninja: build stopped: subcommand failed.
['ninja', 'libc-unit-tests'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 164, in step
yield
File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 137, in main
run_command(['ninja', 'libc-unit-tests'])
File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 179, in run_command
Step 7 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[ RUN ] LlvmLibcFEnvTest.RaiseAndCrash
[ OK ] LlvmLibcFEnvTest.RaiseAndCrash (4 us)
Ran 1 tests. PASS: 1 FAIL: 0
[106/1512] Running unit test libc.test.src.fenv.enabled_exceptions_test.__unit__
[==========] Running 1 test from 1 test suite.
[ RUN ] LlvmLibcExceptionStatusTest.RaiseAndCrash
[ OK ] LlvmLibcExceptionStatusTest.RaiseAndCrash (5 us)
Ran 1 tests. PASS: 1 FAIL: 0
[107/1512] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.fsubf128.__NO_FMA_OPT.dir/fsubf128.cpp.o
[108/1512] Building CXX object libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o
FAILED: libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc -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 -O3 -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 -std=gnu++17 -MD -MT libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o -MF libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o.d -o libc/utils/MPFRWrapper/CMakeFiles/libcMPFRWrapper.dir/MPFRUtils.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:405:15: error: duplicate explicit instantiation of 'explain_binary_operation_one_output_error<long double, long double>'
template void explain_binary_operation_one_output_error(
^
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:390:1: note: previous explicit instantiation is here
explain_binary_operation_one_output_error(Operation,
^
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:633:15: error: duplicate explicit instantiation of 'compare_binary_operation_one_output<long double, long double>'
template bool compare_binary_operation_one_output(Operation,
^
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/utils/MPFRWrapper/MPFRUtils.cpp:609:1: note: previous explicit instantiation is here
compare_binary_operation_one_output(Operation, const BinaryInput<long double> &,
^
2 errors generated.
[109/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.daddl_test.__unit__.__build__.dir/daddl_test.cpp.o
[110/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.daddl_test.__unit__.__NO_FMA_OPT.__build__.dir/daddl_test.cpp.o
[111/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.fadd_test.__unit__.__build__.dir/fadd_test.cpp.o
[112/1512] Building CXX object libc/test/src/math/CMakeFiles/libc.test.src.math.fadd_test.__unit__.__NO_FMA_OPT.__build__.dir/fadd_test.cpp.o
[113/1512] Running unit test libc.test.src.__support.hash_test.__unit__
[==========] Running 4 tests from 1 test suite.
[ RUN ] LlvmLibcHashTest.SanityCheck
[ OK ] LlvmLibcHashTest.SanityCheck (7 ms)
[ RUN ] LlvmLibcHashTest.Avalanche
[ OK ] LlvmLibcHashTest.Avalanche (2634 ms)
[ RUN ] LlvmLibcHashTest.UniformLSB
[ OK ] LlvmLibcHashTest.UniformLSB (1838 ms)
[ RUN ] LlvmLibcHashTest.UniformMSB
[ OK ] LlvmLibcHashTest.UniformMSB (480 us)
Ran 4 tests. PASS: 4 FAIL: 0
ninja: build stopped: subcommand failed.
['ninja', 'libc-unit-tests'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 164, in step
yield
File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 137, in main
run_command(['ninja', 'libc-unit-tests'])
File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 179, in run_command
```
</details>
https://github.com/llvm/llvm-project/pull/116129
More information about the libc-commits
mailing list