[libc-commits] [libc] [libc][stdfix] disable lkbits on riscv (PR #115781)
via libc-commits
libc-commits at lists.llvm.org
Mon Nov 11 15:33:54 PST 2024
zeroomega wrote:
```
FAILED: libc/src/stdfix/CMakeFiles/libc.src.stdfix.ulkbits.dir/ulkbits.cpp.obj
/b/s/w/ir/x/w/llvm_build/bin/clang++ --target=riscv32-unknown-elf -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -I/b/s/w/ir/x/w/llvm-llvm-project/libc -isystem /b/s/w/ir/x/w/llvm_build/include/riscv32-unknown-unknown-elf --target=riscv32-unknown-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -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 -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/b/s/w/ir/x/w/llvm_build/runtimes/runtimes-riscv32-unknown-elf=../../../llvm-llvm-project -ffile-prefix-map=/b/s/w/ir/x/w/llvm-llvm-project/= -no-canonical-prefixes -O2 -g -DNDEBUG -std=gnu++17 --target=riscv32-unknown-elf -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_ADD_NULL_CHECKS -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 -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/stdfix/CMakeFiles/libc.src.stdfix.ulkbits.dir/ulkbits.cpp.obj -MF libc/src/stdfix/CMakeFiles/libc.src.stdfix.ulkbits.dir/ulkbits.cpp.obj.d -o libc/src/stdfix/CMakeFiles/libc.src.stdfix.ulkbits.dir/ulkbits.cpp.obj -c /b/s/w/ir/x/w/llvm-llvm-project/libc/src/stdfix/ulkbits.cpp
/b/s/w/ir/x/w/llvm-llvm-project/libc/src/stdfix/ulkbits.cpp:16:10: error: no matching function for call to 'bit_cast'
16 | return cpp::bit_cast<unsigned long accum, uint_ulk_t>(x);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/b/s/w/ir/x/w/llvm-llvm-project/libc/src/__support/CPP/bit.h:38:1: note: candidate template ignored: substitution failure [with To = unsigned long _Accum, From = uint_ulk_t]: implicit instantiation of undefined template '__llvm_libc_20_0_0_git::cpp::enable_if<false, unsigned long _Accum>'
38 | bit_cast(const From &from) {
| ^
1 error generated.
```
We still see similar build failures on bit_cast after this patch was landed.
https://github.com/llvm/llvm-project/pull/115781
More information about the libc-commits
mailing list