]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
tst-clone3[-internal].c: Add _Atomic to silence Clang
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Dec 2024 21:54:19 +0000 (05:54 +0800)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 17 Dec 2024 17:54:26 +0000 (01:54 +0800)
Add _Atomic to futex_wait argument and ctid in tst-clone3[-internal].c to
silence Clang error:

../sysdeps/unix/sysv/linux/tst-clone3-internal.c:93:3: error: address argument to atomic operation must be a pointer to _Atomic type ('pid_t *' (aka 'int *') invalid)
   93 |   wait_tid (&ctid, CTID_INIT_VAL);
      |   ^         ~~~~~
../sysdeps/unix/sysv/linux/tst-clone3-internal.c:51:21: note: expanded from macro 'wait_tid'
   51 |     while ((__tid = atomic_load_explicit (ctid_ptr,                     \
      |                     ^                     ~~~~~~~~
/usr/bin/../lib/clang/19/include/stdatomic.h:145:30: note: expanded from macro 'atomic_load_explicit'
  145 | #define atomic_load_explicit __c11_atomic_load
      |                              ^

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
sysdeps/unix/sysv/linux/tst-clone3-internal.c
sysdeps/unix/sysv/linux/tst-clone3.c

index 2f0b20029e607238d7a30b3e1adfcc6f6566a9d7..387f673da72f356c5d0c82259e7b112e84ba0b71 100644 (file)
@@ -54,7 +54,7 @@ f (void *a)
   } while (0)
 
 static inline int
-futex_wait (int *futexp, int val)
+futex_wait (_Atomic int *futexp, int val)
 {
 #ifdef __NR_futex
   return syscall (__NR_futex, futexp, FUTEX_WAIT, val);
@@ -75,7 +75,7 @@ do_test (void)
   /* Initialize with a known value.  ctid is set to zero by the kernel after the
      cloned thread has exited.  */
 #define CTID_INIT_VAL 1
-  pid_t ctid = CTID_INIT_VAL;
+  _Atomic pid_t ctid = CTID_INIT_VAL;
   pid_t tid;
 
   struct clone_args clone_args =
index 77b8731c0877ba039176d4c54ec8606644d3abce..a32d649d6e0e8a0db109aed5755c6b2d6c40acda 100644 (file)
@@ -54,7 +54,7 @@ f (void *a)
   } while (0)
 
 static inline int
-futex_wait (int *futexp, int val)
+futex_wait (_Atomic int *futexp, int val)
 {
 #ifdef __NR_futex
   return syscall (__NR_futex, futexp, FUTEX_WAIT, val);
@@ -75,7 +75,7 @@ do_test (void)
   /* Initialize with a known value.  ctid is set to zero by the kernel after the
      cloned thread has exited.  */
 #define CTID_INIT_VAL 1
-  pid_t ctid = CTID_INIT_VAL;
+  _Atomic pid_t ctid = CTID_INIT_VAL;
   pid_t tid;
 
 #if _STACK_GROWS_DOWN