[PATCH 06/59] nptl: Fix Wincompatible-pointer-types on clang
Sam James
sam@gentoo.org
Mon Oct 20 19:42:15 GMT 2025
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:
> clang 18 issues:
>
> pthread_join_common.c:32:3: error: incompatible pointer types passing 'struct pthread **' to parameter of type 'void **' [-Werror,-Wincompatible-pointer-types]
> 32 | atomic_compare_exchange_weak_acquire (&arg, &self, NULL);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../include/atomic.h:188:39: note: expanded from macro 'atomic_compare_exchange_weak_acquire'
> 188 | __atomic_compare_exchange_n ((mem), (expected), (desired), 1,
>
> Use a void * type instead.
> ---
Reviewed-by: Sam James <sam@gentoo.org>
> nptl/pthread_join_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/nptl/pthread_join_common.c b/nptl/pthread_join_common.c
> index ff389bf599..9109b62276 100644
> --- a/nptl/pthread_join_common.c
> +++ b/nptl/pthread_join_common.c
> @@ -28,7 +28,7 @@ cleanup (void *arg)
> /* If we already changed the waiter ID, reset it. The call cannot
> fail for any reason but the thread not having done that yet so
> there is no reason for a loop. */
> - struct pthread *self = THREAD_SELF;
> + void *self = THREAD_SELF;
> atomic_compare_exchange_weak_acquire (&arg, &self, NULL);
> }
More information about the Libc-alpha
mailing list