diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-12-17 05:54:19 +0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-12-18 01:54:26 +0800 |
commit | d4ee46b0cd43012d311e07f11ee960efec3f1a94 (patch) | |
tree | a1dfa9909d3a67e143b51b7589f690da983b3e12 /sysdeps/unix | |
parent | 560cfeb82693912723ff0e11232c86f9b492a1a0 (diff) | |
download | glibc-d4ee46b0cd43012d311e07f11ee960efec3f1a94.zip glibc-d4ee46b0cd43012d311e07f11ee960efec3f1a94.tar.gz glibc-d4ee46b0cd43012d311e07f11ee960efec3f1a94.tar.bz2 |
tst-clone3[-internal].c: Add _Atomic to silence Clang
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>
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/tst-clone3-internal.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/tst-clone3.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/tst-clone3-internal.c b/sysdeps/unix/sysv/linux/tst-clone3-internal.c index 2f0b200..387f673 100644 --- a/sysdeps/unix/sysv/linux/tst-clone3-internal.c +++ b/sysdeps/unix/sysv/linux/tst-clone3-internal.c @@ -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 = diff --git a/sysdeps/unix/sysv/linux/tst-clone3.c b/sysdeps/unix/sysv/linux/tst-clone3.c index 77b8731..a32d649 100644 --- a/sysdeps/unix/sysv/linux/tst-clone3.c +++ b/sysdeps/unix/sysv/linux/tst-clone3.c @@ -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 |