aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2024-12-17 05:54:19 +0800
committerH.J. Lu <hjl.tools@gmail.com>2024-12-18 01:54:26 +0800
commitd4ee46b0cd43012d311e07f11ee960efec3f1a94 (patch)
treea1dfa9909d3a67e143b51b7589f690da983b3e12 /sysdeps/unix
parent560cfeb82693912723ff0e11232c86f9b492a1a0 (diff)
downloadglibc-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.c4
-rw-r--r--sysdeps/unix/sysv/linux/tst-clone3.c4
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