[libc-commits] [libc] [libc] add posix_mutex_trylock support (PR #191531)
LLVM Continuous Integration via libc-commits
libc-commits at lists.llvm.org
Mon Apr 13 07:57:58 PDT 2026
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `libc-x86_64-debian-gcc-fullbuild-dbg` running on `libc-x86_64-debian-fullbuild` while building `libc` at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/131/builds/44383
<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)
...
[148/212] Building CXX object libc/src/dirent/CMakeFiles/libc.src.dirent.closedir.dir/closedir.cpp.o
[149/212] Building CXX object libc/src/dirent/CMakeFiles/libc.src.dirent.dirfd.dir/dirfd.cpp.o
[150/212] Building CXX object libc/src/unistd/CMakeFiles/libc.src.unistd.getopt.dir/getopt.cpp.o
[151/212] Building CXX object libc/src/dirent/CMakeFiles/libc.src.dirent.readdir.dir/readdir.cpp.o
[152/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_barrier_destroy.dir/pthread_barrier_destroy.cpp.o
[153/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_barrier_wait.dir/pthread_barrier_wait.cpp.o
[154/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_join.dir/pthread_join.cpp.o
[155/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_barrier_init.dir/pthread_barrier_init.cpp.o
[156/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_detach.dir/pthread_detach.cpp.o
[157/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o
FAILED: libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -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_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffreestanding -DLIBC_FULL_BUILD -isystem/usr/lib/gcc/x86_64-linux-gnu/12//include -nostdinc -idirafter/usr/include -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 -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -fext-numeric-literals -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o -MF libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o.d -o libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/pthread/pthread_mutex_trylock.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__mutex_type.h:12,
from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/pthread_mutex_t.h:12,
from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/pthread/pthread_mutex_trylock.h:12,
from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/pthread/pthread_mutex_trylock.cpp:9:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:15:12: error: expected identifier before ‘sizeof’
15 | _Alignas(sizeof(__UINT32_TYPE__) > _Alignof(__UINT32_TYPE__)
| ^~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:15:12: error: expected ‘,’ or ‘...’ before ‘sizeof’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:15:3: error: ISO C++ forbids declaration of ‘_Alignas’ with no type [-fpermissive]
15 | _Alignas(sizeof(__UINT32_TYPE__) > _Alignof(__UINT32_TYPE__)
| ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:17:43: error: expected ‘;’ at end of member declaration
17 | : _Alignof(__UINT32_TYPE__)) __UINT32_TYPE__ __word;
| ^
| ;
[158/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_unlock.dir/pthread_mutex_unlock.cpp.o
[159/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_init.dir/pthread_mutex_init.cpp.o
[160/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_create.dir/pthread_create.cpp.o
[161/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_destroy.dir/pthread_mutex_destroy.cpp.o
[162/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_equal.dir/pthread_equal.cpp.o
[163/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_exit.dir/pthread_exit.cpp.o
[164/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_setname_np.dir/pthread_setname_np.cpp.o
[165/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_self.dir/pthread_self.cpp.o
[166/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_lock.dir/pthread_mutex_lock.cpp.o
[167/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_key_delete.dir/pthread_key_delete.cpp.o
[168/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_key_create.dir/pthread_key_create.cpp.o
[169/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_setspecific.dir/pthread_setspecific.cpp.o
[170/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_getname_np.dir/pthread_getname_np.cpp.o
[171/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_getspecific.dir/pthread_getspecific.cpp.o
[172/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_trywrlock.dir/pthread_rwlock_trywrlock.cpp.o
[173/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_tryrdlock.dir/pthread_rwlock_tryrdlock.cpp.o
[174/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_init.dir/pthread_rwlock_init.cpp.o
[175/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_clockwrlock.dir/pthread_rwlock_clockwrlock.cpp.o
[176/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_clockrdlock.dir/pthread_rwlock_clockrdlock.cpp.o
[177/212] Building CXX object libc/src/__support/threads/CMakeFiles/libc.src.__support.threads.thread.dir/thread.cpp.o
[178/212] Building CXX object libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o
[179/212] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.at_quick_exit.dir/at_quick_exit.cpp.o
Step 6 (build libc) failure: build libc (failure)
...
[148/212] Building CXX object libc/src/dirent/CMakeFiles/libc.src.dirent.closedir.dir/closedir.cpp.o
[149/212] Building CXX object libc/src/dirent/CMakeFiles/libc.src.dirent.dirfd.dir/dirfd.cpp.o
[150/212] Building CXX object libc/src/unistd/CMakeFiles/libc.src.unistd.getopt.dir/getopt.cpp.o
[151/212] Building CXX object libc/src/dirent/CMakeFiles/libc.src.dirent.readdir.dir/readdir.cpp.o
[152/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_barrier_destroy.dir/pthread_barrier_destroy.cpp.o
[153/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_barrier_wait.dir/pthread_barrier_wait.cpp.o
[154/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_join.dir/pthread_join.cpp.o
[155/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_barrier_init.dir/pthread_barrier_init.cpp.o
[156/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_detach.dir/pthread_detach.cpp.o
[157/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o
FAILED: libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -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_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffreestanding -DLIBC_FULL_BUILD -isystem/usr/lib/gcc/x86_64-linux-gnu/12//include -nostdinc -idirafter/usr/include -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 -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -fext-numeric-literals -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o -MF libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o.d -o libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_trylock.dir/pthread_mutex_trylock.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/pthread/pthread_mutex_trylock.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__mutex_type.h:12,
from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/pthread_mutex_t.h:12,
from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/pthread/pthread_mutex_trylock.h:12,
from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/pthread/pthread_mutex_trylock.cpp:9:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:15:12: error: expected identifier before ‘sizeof’
15 | _Alignas(sizeof(__UINT32_TYPE__) > _Alignof(__UINT32_TYPE__)
| ^~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:15:12: error: expected ‘,’ or ‘...’ before ‘sizeof’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:15:3: error: ISO C++ forbids declaration of ‘_Alignas’ with no type [-fpermissive]
15 | _Alignas(sizeof(__UINT32_TYPE__) > _Alignof(__UINT32_TYPE__)
| ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/__futex_word.h:17:43: error: expected ‘;’ at end of member declaration
17 | : _Alignof(__UINT32_TYPE__)) __UINT32_TYPE__ __word;
| ^
| ;
[158/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_unlock.dir/pthread_mutex_unlock.cpp.o
[159/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_init.dir/pthread_mutex_init.cpp.o
[160/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_create.dir/pthread_create.cpp.o
[161/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_destroy.dir/pthread_mutex_destroy.cpp.o
[162/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_equal.dir/pthread_equal.cpp.o
[163/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_exit.dir/pthread_exit.cpp.o
[164/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_setname_np.dir/pthread_setname_np.cpp.o
[165/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_self.dir/pthread_self.cpp.o
[166/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_mutex_lock.dir/pthread_mutex_lock.cpp.o
[167/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_key_delete.dir/pthread_key_delete.cpp.o
[168/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_key_create.dir/pthread_key_create.cpp.o
[169/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_setspecific.dir/pthread_setspecific.cpp.o
[170/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_getname_np.dir/pthread_getname_np.cpp.o
[171/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_getspecific.dir/pthread_getspecific.cpp.o
[172/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_trywrlock.dir/pthread_rwlock_trywrlock.cpp.o
[173/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_tryrdlock.dir/pthread_rwlock_tryrdlock.cpp.o
[174/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_init.dir/pthread_rwlock_init.cpp.o
[175/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_clockwrlock.dir/pthread_rwlock_clockwrlock.cpp.o
[176/212] Building CXX object libc/src/pthread/CMakeFiles/libc.src.pthread.pthread_rwlock_clockrdlock.dir/pthread_rwlock_clockrdlock.cpp.o
[177/212] Building CXX object libc/src/__support/threads/CMakeFiles/libc.src.__support.threads.thread.dir/thread.cpp.o
[178/212] Building CXX object libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o
[179/212] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.at_quick_exit.dir/at_quick_exit.cpp.o
```
</details>
https://github.com/llvm/llvm-project/pull/191531
More information about the libc-commits
mailing list