Fix warnings

This change fixes Cosmopolitan so it has fewer opinions about compiler
warnings. The whole repository had to be cleaned up to be buildable in
-Werror -Wall mode. This lets us benefit from things like strict const
checking. Some actual bugs might have been caught too.
This commit is contained in:
Justine Tunney 2023-09-01 20:49:13 -07:00
parent e2b3c3618e
commit 0d748ad58e
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
571 changed files with 1306 additions and 1888 deletions

View file

@ -163,9 +163,8 @@ static int nsync_futex_polyfill_ (atomic_int *w, int expect, struct timespec *ab
return -ETIMEDOUT;
}
static int nsync_futex_wait_win32_ (atomic_int *w, int expect, char pshare, struct timespec *timeout) {
static int nsync_futex_wait_win32_ (atomic_int *w, int expect, char pshare, const struct timespec *timeout) {
int rc;
uint32_t ms;
struct timespec deadline, interval, remain, wait, now;
if (timeout) {
@ -211,8 +210,8 @@ static struct timespec *nsync_futex_timeout_ (struct timespec *memory,
}
}
int nsync_futex_wait_ (atomic_int *w, int expect, char pshare, struct timespec *abstime) {
int e, rc, op, fop;
int nsync_futex_wait_ (atomic_int *w, int expect, char pshare, const struct timespec *abstime) {
int e, rc, op;
struct PosixThread *pt = 0;
struct timespec tsmem, *timeout;
@ -298,7 +297,7 @@ Finished:
}
int nsync_futex_wake_ (atomic_int *w, int count, char pshare) {
int e, rc, op, fop;
int rc, op, fop;
ASSERT (count == 1 || count == INT_MAX);

View file

@ -6,7 +6,7 @@
COSMOPOLITAN_C_START_
int nsync_futex_wake_(_Atomic(int) *, int, char);
int nsync_futex_wait_(_Atomic(int) *, int, char, struct timespec *);
int nsync_futex_wait_(_Atomic(int) *, int, char, const struct timespec *);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */

View file

@ -52,7 +52,7 @@ void nsync_mu_semaphore_init_futex (nsync_semaphore *s) {
/* Wait until the count of *s exceeds 0, and decrement it. */
errno_t nsync_mu_semaphore_p_futex (nsync_semaphore *s) {
struct futex *f = (struct futex *) s;
int e, i;
int i;
errno_t result = 0;
do {
i = ATM_LOAD ((nsync_atomic_uint32_ *) &f->i);
@ -79,7 +79,7 @@ errno_t nsync_mu_semaphore_p_futex (nsync_semaphore *s) {
or abs_deadline expires, in which case return ETIMEDOUT. */
errno_t nsync_mu_semaphore_p_with_deadline_futex (nsync_semaphore *s, nsync_time abs_deadline) {
struct futex *f = (struct futex *)s;
int e, i;
int i;
int result = 0;
do {
i = ATM_LOAD ((nsync_atomic_uint32_ *) &f->i);

View file

@ -50,6 +50,7 @@ static long dispatch_semaphore_wait (dispatch_semaphore_t ds,
static long dispatch_semaphore_signal (dispatch_semaphore_t ds) {
long rc = __syslib->dispatch_semaphore_signal (ds);
(void)rc;
STRACE ("dispatch_semaphore_signal(%#lx) → %ld", ds, rc);
return (ds);
}