[libc-commits] [libc] [libc][wctype] Add perfect hash map for conversion functions (PR #187670)
LLVM Continuous Integration via libc-commits
libc-commits at lists.llvm.org
Sun May 24 12:04:10 PDT 2026
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `libc-x86_64-debian-dbg` running on `libc-x86_64-debian` while building `libc` at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/93/builds/45716
<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)
...
[==========] Running 2 tests from 1 test suite.
[ RUN ] LlvmLibcLimitsTest.LimitsFollowSpec
[ OK ] LlvmLibcLimitsTest.LimitsFollowSpec (6 us)
[ RUN ] LlvmLibcLimitsTest.UInt128Limits
[ OK ] LlvmLibcLimitsTest.UInt128Limits (5 us)
Ran 2 tests. PASS: 2 FAIL: 0
[1468/5444] Linking CXX executable libc/test/src/__support/CPP/libc.test.src.__support.CPP.algorithm_test.__unit__.__build__
[1469/5444] Linking CXX executable libc/test/src/__support/CPP/libc.test.src.__support.CPP.optional_test.__unit__.__build__
[1470/5444] Linking CXX executable libc/test/src/__support/OSUtil/linux/libc.test.src.__support.OSUtil.linux.sysinfo_test.__unit__.__build__
[1471/5444] Building CXX object libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o
FAILED: libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/llvm-project/libc -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/build/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/build/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 -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -D__LIBC_USE_BUILTIN_ISNAN -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 -Wall -Wextra -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 -Xclang -fconstexpr-steps=10000000 -std=gnu++17 -MD -MT libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o -MF libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o.d -o libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/llvm-project/libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
error: unknown argument: '-fconstexpr-steps=10000000'
[1472/5444] Running unit test libc.test.src.__support.CPP.atomic_test.__unit__
[==========] Running 4 tests from 1 test suite.
[ RUN ] LlvmLibcAtomicTest.LoadStore
[ OK ] LlvmLibcAtomicTest.LoadStore (4 us)
[ RUN ] LlvmLibcAtomicTest.CompareExchangeStrong
[ OK ] LlvmLibcAtomicTest.CompareExchangeStrong (3 us)
[ RUN ] LlvmLibcAtomicTest.TrivialCompositeData
[ OK ] LlvmLibcAtomicTest.TrivialCompositeData (3 us)
[ RUN ] LlvmLibcAtomicTest.AtomicRefTest
[ OK ] LlvmLibcAtomicTest.AtomicRefTest (2 us)
Ran 4 tests. PASS: 4 FAIL: 0
[1473/5444] Building CXX object libc/test/src/__support/File/CMakeFiles/libc.test.src.__support.File.file_test.__unit__.__build__.dir/file_test.cpp.o
[1474/5444] Running unit test libc.test.src.__support.CPP.scope_test.__unit__
[==========] Running 3 tests from 1 test suite.
[ RUN ] LlvmLibcScopeExitTest.Basic
[ OK ] LlvmLibcScopeExitTest.Basic (4 us)
[ RUN ] LlvmLibcScopeExitTest.Release
[ OK ] LlvmLibcScopeExitTest.Release (2 us)
[ RUN ] LlvmLibcScopeExitTest.Move
[ OK ] LlvmLibcScopeExitTest.Move (2 us)
Ran 3 tests. PASS: 3 FAIL: 0
[1475/5444] Running unit test libc.test.src.__support.CPP.algorithm_test.__unit__
[==========] Running 2 tests from 1 test suite.
[ RUN ] LlvmLibcAlgorithmTest.FindIfNot
[ OK ] LlvmLibcAlgorithmTest.FindIfNot (6 us)
[ RUN ] LlvmLibcAlgorithmTest.AllOf
[ OK ] LlvmLibcAlgorithmTest.AllOf (3 us)
Ran 2 tests. PASS: 2 FAIL: 0
[1476/5444] Running unit test libc.test.src.__support.CPP.optional_test.__unit__
[==========] Running 1 test from 1 test suite.
[ RUN ] LlvmLibcOptionalTest.Tests
[ OK ] LlvmLibcOptionalTest.Tests (63 us)
Ran 1 tests. PASS: 1 FAIL: 0
[1477/5444] Building CXX object libc/test/src/__support/CPP/CMakeFiles/libc.test.src.__support.CPP.tuple_test.__unit__.__build__.dir/tuple_test.cpp.o
[1478/5444] Running unit test libc.test.src.__support.OSUtil.linux.sysinfo_test.__unit__
[==========] Running 4 tests from 1 test suite.
Step 7 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[==========] Running 2 tests from 1 test suite.
[ RUN ] LlvmLibcLimitsTest.LimitsFollowSpec
[ OK ] LlvmLibcLimitsTest.LimitsFollowSpec (6 us)
[ RUN ] LlvmLibcLimitsTest.UInt128Limits
[ OK ] LlvmLibcLimitsTest.UInt128Limits (5 us)
Ran 2 tests. PASS: 2 FAIL: 0
[1468/5444] Linking CXX executable libc/test/src/__support/CPP/libc.test.src.__support.CPP.algorithm_test.__unit__.__build__
[1469/5444] Linking CXX executable libc/test/src/__support/CPP/libc.test.src.__support.CPP.optional_test.__unit__.__build__
[1470/5444] Linking CXX executable libc/test/src/__support/OSUtil/linux/libc.test.src.__support.OSUtil.linux.sysinfo_test.__unit__.__build__
[1471/5444] Building CXX object libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o
FAILED: libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/llvm-project/libc -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/build/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/build/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 -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -D__LIBC_USE_BUILTIN_ISNAN -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 -Wall -Wextra -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 -Xclang -fconstexpr-steps=10000000 -std=gnu++17 -MD -MT libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o -MF libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o.d -o libc/test/src/__support/wctype/CMakeFiles/libc.test.src.__support.wctype.wctype_perfect_hash_test.__unit__.__build__.dir/wctype_perfect_hash_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg/llvm-project/libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
error: unknown argument: '-fconstexpr-steps=10000000'
[1472/5444] Running unit test libc.test.src.__support.CPP.atomic_test.__unit__
[==========] Running 4 tests from 1 test suite.
[ RUN ] LlvmLibcAtomicTest.LoadStore
[ OK ] LlvmLibcAtomicTest.LoadStore (4 us)
[ RUN ] LlvmLibcAtomicTest.CompareExchangeStrong
[ OK ] LlvmLibcAtomicTest.CompareExchangeStrong (3 us)
[ RUN ] LlvmLibcAtomicTest.TrivialCompositeData
[ OK ] LlvmLibcAtomicTest.TrivialCompositeData (3 us)
[ RUN ] LlvmLibcAtomicTest.AtomicRefTest
[ OK ] LlvmLibcAtomicTest.AtomicRefTest (2 us)
Ran 4 tests. PASS: 4 FAIL: 0
[1473/5444] Building CXX object libc/test/src/__support/File/CMakeFiles/libc.test.src.__support.File.file_test.__unit__.__build__.dir/file_test.cpp.o
[1474/5444] Running unit test libc.test.src.__support.CPP.scope_test.__unit__
[==========] Running 3 tests from 1 test suite.
[ RUN ] LlvmLibcScopeExitTest.Basic
[ OK ] LlvmLibcScopeExitTest.Basic (4 us)
[ RUN ] LlvmLibcScopeExitTest.Release
[ OK ] LlvmLibcScopeExitTest.Release (2 us)
[ RUN ] LlvmLibcScopeExitTest.Move
[ OK ] LlvmLibcScopeExitTest.Move (2 us)
Ran 3 tests. PASS: 3 FAIL: 0
[1475/5444] Running unit test libc.test.src.__support.CPP.algorithm_test.__unit__
[==========] Running 2 tests from 1 test suite.
[ RUN ] LlvmLibcAlgorithmTest.FindIfNot
[ OK ] LlvmLibcAlgorithmTest.FindIfNot (6 us)
[ RUN ] LlvmLibcAlgorithmTest.AllOf
[ OK ] LlvmLibcAlgorithmTest.AllOf (3 us)
Ran 2 tests. PASS: 2 FAIL: 0
[1476/5444] Running unit test libc.test.src.__support.CPP.optional_test.__unit__
[==========] Running 1 test from 1 test suite.
[ RUN ] LlvmLibcOptionalTest.Tests
[ OK ] LlvmLibcOptionalTest.Tests (63 us)
Ran 1 tests. PASS: 1 FAIL: 0
[1477/5444] Building CXX object libc/test/src/__support/CPP/CMakeFiles/libc.test.src.__support.CPP.tuple_test.__unit__.__build__.dir/tuple_test.cpp.o
[1478/5444] Running unit test libc.test.src.__support.OSUtil.linux.sysinfo_test.__unit__
[==========] Running 4 tests from 1 test suite.
```
</details>
https://github.com/llvm/llvm-project/pull/187670
More information about the libc-commits
mailing list