[libc-commits] [libc] Reland "[libc][NFC] Propagate LIBC_CONSTEXPR qualifier for those depending on bit_cast." (PR #197479)
LLVM Continuous Integration via libc-commits
libc-commits at lists.llvm.org
Wed May 13 08:46:34 PDT 2026
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `libc-aarch64-ubuntu-dbg` running on `libc-aarch64-ubuntu` while building `libc` at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/104/builds/48201
<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)
...
[58/755] Building CXX object libc/src/inttypes/CMakeFiles/libc.src.inttypes.strtoumax.dir/strtoumax.cpp.o
[59/755] Building CXX object libc/src/inttypes/CMakeFiles/libc.src.inttypes.imaxdiv.dir/imaxdiv.cpp.o
[60/755] Building CXX object libc/src/fenv/CMakeFiles/libc.src.fenv.fesetenv.dir/fesetenv.cpp.o
[61/755] Building CXX object libc/src/fenv/CMakeFiles/libc.src.fenv.fedisableexcept.dir/fedisableexcept.cpp.o
[62/755] Building CXX object libc/src/fenv/CMakeFiles/libc.src.fenv.fegetexceptflag.dir/fegetexceptflag.cpp.o
[63/755] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ufromfpxl.dir/ufromfpxl.cpp.o
[64/755] Building CXX object libc/src/fenv/CMakeFiles/libc.src.fenv.fesetround.dir/fesetround.cpp.o
[65/755] Building CXX object libc/src/fenv/CMakeFiles/libc.src.fenv.fesetexceptflag.dir/fesetexceptflag.cpp.o
[66/755] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.modf.dir/modf.cpp.o
[67/755] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.cos.dir/cos.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.cos.dir/cos.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 -Wno-pass-failed -fdiagnostics-color -g -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 -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 -fstack-protector-strong -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 -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.cos.dir/cos.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.cos.dir/cos.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.cos.dir/cos.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/cos.cpp
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/cos.cpp:10:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/cos.h:12:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/range_reduction_double_common.h:309:41: error: declaration requires a global constructor [-Werror,-Wglobal-constructors]
LIBC_INLINE_VAR LIBC_CONSTEXPR Float128 SIN_K_PI_OVER_128_F128[65] = {
^ ~
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/cos.cpp:11:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/cos_integer_eval.h:12:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/sincos_integer_utils.h:17:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/frac128.h:27:33: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
LIBC_INLINE constexpr Frac128 operator+(const Frac128 &other) const {
^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/frac128.h:29:12: note: non-constexpr constructor 'BigInt' cannot be used in a constant expression
return Frac128(r.val);
^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/big_int.h:466:39: note: declared here
LIBC_INLINE LIBC_CONSTEXPR explicit BigInt(
^
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/cos.cpp:11:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/cos_integer_eval.h:12:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/sincos_integer_utils.h:17:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/frac128.h:32:33: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
LIBC_INLINE constexpr Frac128 operator-(const Frac128 &other) const {
^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/frac128.h:34:12: note: non-constexpr constructor 'BigInt' cannot be used in a constant expression
return Frac128(r.val);
^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/big_int.h:466:39: note: declared here
LIBC_INLINE LIBC_CONSTEXPR explicit BigInt(
^
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/cos.cpp:11:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/cos_integer_eval.h:12:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/math/sincos_integer_utils.h:17:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/frac128.h:37:33: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
LIBC_INLINE constexpr Frac128 operator*(const Frac128 &other) const {
^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/__support/frac128.h:39:12: note: non-constexpr constructor 'BigInt' cannot be used in a constant expression
return Frac128(r.val);
```
</details>
https://github.com/llvm/llvm-project/pull/197479
More information about the libc-commits
mailing list