[PATCH 06/59] nptl: Fix Wincompatible-pointer-types on clang

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 17 19:12:41 GMT 2025


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.
---
 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);
 }
 
-- 
2.43.0



More information about the Libc-alpha mailing list