Skip to content

Commit 698d085

Browse files
authored
Merge pull request #273 from dgrove-oss/match-darwin-cflags-round1
fixes to src to prep for enabling additional compiler warnings
2 parents 50992e7 + 03cd694 commit 698d085

File tree

12 files changed

+101
-52
lines changed

12 files changed

+101
-52
lines changed

src/BlocksRuntime/runtime.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ GC support stub routines
148148

149149

150150
static void *_Block_alloc_default(const unsigned long size, const bool initialCountIsOne, const bool isObject) {
151+
(void)initialCountIsOne;
152+
(void)isObject;
151153
return malloc(size);
152154
}
153155

@@ -156,16 +158,20 @@ static void _Block_assign_default(void *value, void **destptr) {
156158
}
157159

158160
static void _Block_setHasRefcount_default(const void *ptr, const bool hasRefcount) {
161+
(void)ptr;
162+
(void)hasRefcount;
159163
}
160164

161165
#if HAVE_OBJC
162166
static void _Block_do_nothing(const void *aBlock) { }
163167
#endif
164168

165169
static void _Block_retain_object_default(const void *ptr) {
170+
(void)ptr;
166171
}
167172

168173
static void _Block_release_object_default(const void *ptr) {
174+
(void)ptr;
169175
}
170176

171177
static void _Block_assign_weak_default(const void *ptr, void *dest) {
@@ -193,7 +199,9 @@ static void _Block_memmove_gc_broken(void *dest, void *src, unsigned long size)
193199
}
194200
#endif
195201

196-
static void _Block_destructInstance_default(const void *aBlock) {}
202+
static void _Block_destructInstance_default(const void *aBlock) {
203+
(void)aBlock;
204+
}
197205

198206
/**************************************************************************
199207
GC support callout functions - initially set to stub routines

src/data.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ _dispatch_data_destroy_buffer(const void* buffer, size_t size,
138138
mach_vm_size_t vm_size = size;
139139
mach_vm_address_t vm_addr = (uintptr_t)buffer;
140140
mach_vm_deallocate(mach_task_self(), vm_addr, vm_size);
141+
#else
142+
(void)size;
141143
#endif
142144
} else {
143145
if (!queue) {

src/event/event_epoll.c

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ typedef struct dispatch_muxnote_s {
4848
TAILQ_HEAD(, dispatch_unote_linkage_s) dmn_readers_head;
4949
TAILQ_HEAD(, dispatch_unote_linkage_s) dmn_writers_head;
5050
int dmn_fd;
51-
int dmn_ident;
51+
uint32_t dmn_ident;
5252
uint32_t dmn_events;
5353
int16_t dmn_filter;
5454
bool dmn_skip_outq_ioctl;
@@ -85,17 +85,17 @@ static struct dispatch_epoll_timeout_s _dispatch_epoll_timeout[] = {
8585

8686
DISPATCH_ALWAYS_INLINE
8787
static inline struct dispatch_muxnote_bucket_s *
88-
_dispatch_muxnote_bucket(int ident)
88+
_dispatch_muxnote_bucket(uint32_t ident)
8989
{
90-
return &_dispatch_sources[DSL_HASH((uint32_t)ident)];
90+
return &_dispatch_sources[DSL_HASH(ident)];
9191
}
9292
#define _dispatch_unote_muxnote_bucket(du) \
9393
_dispatch_muxnote_bucket(du._du->du_ident)
9494

9595
DISPATCH_ALWAYS_INLINE
9696
static inline dispatch_muxnote_t
9797
_dispatch_muxnote_find(struct dispatch_muxnote_bucket_s *dmb,
98-
uint64_t ident, int16_t filter)
98+
uint32_t ident, int16_t filter)
9999
{
100100
dispatch_muxnote_t dmn;
101101
if (filter == EVFILT_WRITE) filter = EVFILT_READ;
@@ -112,7 +112,7 @@ _dispatch_muxnote_find(struct dispatch_muxnote_bucket_s *dmb,
112112
static void
113113
_dispatch_muxnote_dispose(dispatch_muxnote_t dmn)
114114
{
115-
if (dmn->dmn_filter != EVFILT_READ || dmn->dmn_fd != dmn->dmn_ident) {
115+
if (dmn->dmn_filter != EVFILT_READ || (uint32_t)dmn->dmn_fd != dmn->dmn_ident) {
116116
close(dmn->dmn_fd);
117117
}
118118
free(dmn);
@@ -142,26 +142,27 @@ _dispatch_muxnote_create(dispatch_unote_t du, uint32_t events)
142142

143143
dispatch_muxnote_t dmn;
144144
struct stat sb;
145-
int fd = du._du->du_ident;
145+
int fd = (int)du._du->du_ident;
146146
int16_t filter = du._du->du_filter;
147147
bool skip_outq_ioctl = false, skip_inq_ioctl = false;
148148
sigset_t sigmask;
149149

150150
switch (filter) {
151-
case EVFILT_SIGNAL:
152-
if (!sigismember(&signals_with_unotes, du._du->du_ident)) {
151+
case EVFILT_SIGNAL: {
152+
int signo = (int)du._du->du_ident;
153+
if (!sigismember(&signals_with_unotes, signo)) {
153154
manager_thread = pthread_self();
154-
sigaddset(&signals_with_unotes, du._du->du_ident);
155-
sigaction(du._du->du_ident, &sa, NULL);
155+
sigaddset(&signals_with_unotes, signo);
156+
sigaction(signo, &sa, NULL);
156157
}
157158
sigemptyset(&sigmask);
158-
sigaddset(&sigmask, du._du->du_ident);
159+
sigaddset(&sigmask, signo);
159160
fd = signalfd(-1, &sigmask, SFD_NONBLOCK | SFD_CLOEXEC);
160161
if (fd < 0) {
161162
return NULL;
162163
}
163164
break;
164-
165+
}
165166
case EVFILT_WRITE:
166167
filter = EVFILT_READ;
167168
case EVFILT_READ:
@@ -290,7 +291,7 @@ _dispatch_unote_resume(dispatch_unote_t du)
290291
}
291292

292293
bool
293-
_dispatch_unote_unregister(dispatch_unote_t du, uint32_t flags)
294+
_dispatch_unote_unregister(dispatch_unote_t du, DISPATCH_UNUSED uint32_t flags)
294295
{
295296
switch (du._du->du_filter) {
296297
case DISPATCH_EVFILT_CUSTOM_ADD:
@@ -313,10 +314,10 @@ _dispatch_unote_unregister(dispatch_unote_t du, uint32_t flags)
313314
dul->du_muxnote = NULL;
314315

315316
if (TAILQ_EMPTY(&dmn->dmn_readers_head)) {
316-
events &= ~EPOLLIN;
317+
events &= (uint32_t)(~EPOLLIN);
317318
}
318319
if (TAILQ_EMPTY(&dmn->dmn_writers_head)) {
319-
events &= ~EPOLLOUT;
320+
events &= (uint32_t)(~EPOLLOUT);
320321
}
321322

322323
if (events == dmn->dmn_events) {
@@ -350,32 +351,33 @@ _dispatch_event_merge_timer(dispatch_clock_t clock)
350351
}
351352

352353
static void
353-
_dispatch_timeout_program(uint32_t tidx, uint64_t target, uint64_t leeway)
354+
_dispatch_timeout_program(uint32_t tidx, uint64_t target,
355+
DISPATCH_UNUSED uint64_t leeway)
354356
{
355357
dispatch_clock_t clock = DISPATCH_TIMER_CLOCK(tidx);
356358
dispatch_epoll_timeout_t timer = &_dispatch_epoll_timeout[clock];
357359
struct epoll_event ev = {
358360
.events = EPOLLONESHOT | EPOLLIN,
359361
.data = { .u32 = timer->det_ident },
360362
};
361-
unsigned long op;
363+
int op;
362364

363365
if (target >= INT64_MAX && !timer->det_registered) {
364366
return;
365367
}
366368

367369
if (unlikely(timer->det_fd < 0)) {
368-
clockid_t clock;
370+
clockid_t clockid;
369371
int fd;
370372
switch (DISPATCH_TIMER_CLOCK(tidx)) {
371373
case DISPATCH_CLOCK_MACH:
372-
clock = CLOCK_MONOTONIC;
374+
clockid = CLOCK_MONOTONIC;
373375
break;
374376
case DISPATCH_CLOCK_WALL:
375-
clock = CLOCK_REALTIME;
377+
clockid = CLOCK_REALTIME;
376378
break;
377379
}
378-
fd = timerfd_create(clock, TFD_NONBLOCK | TFD_CLOEXEC);
380+
fd = timerfd_create(clockid, TFD_NONBLOCK | TFD_CLOEXEC);
379381
if (!dispatch_assume(fd >= 0)) {
380382
return;
381383
}
@@ -451,7 +453,7 @@ _dispatch_epoll_init(void *context DISPATCH_UNUSED)
451453
.events = EPOLLIN | EPOLLFREE,
452454
.data = { .u32 = DISPATCH_EPOLL_EVENTFD, },
453455
};
454-
unsigned long op = EPOLL_CTL_ADD;
456+
int op = EPOLL_CTL_ADD;
455457
if (epoll_ctl(_dispatch_epfd, op, _dispatch_eventfd, &ev) < 0) {
456458
DISPATCH_INTERNAL_CRASH(errno, "epoll_ctl() failed");
457459
}
@@ -504,7 +506,7 @@ _dispatch_get_buffer_size(dispatch_muxnote_t dmn, bool writer)
504506
return 1;
505507
}
506508

507-
if (ioctl(dmn->dmn_ident, writer ? SIOCOUTQ : SIOCINQ, &n) != 0) {
509+
if (ioctl((int)dmn->dmn_ident, writer ? SIOCOUTQ : SIOCINQ, &n) != 0) {
508510
switch (errno) {
509511
case EINVAL:
510512
case ENOTTY:

src/event/workqueue.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222

2323
#if DISPATCH_USE_INTERNAL_WORKQUEUE
2424

25-
// forward looking typedef; not yet defined in dispatch
26-
typedef pid_t dispatch_tid;
27-
2825
/*
2926
* dispatch_workq monitors the thread pool that is
3027
* executing the work enqueued on libdispatch's pthread
@@ -88,7 +85,7 @@ _dispatch_workq_worker_register(dispatch_queue_t root_q, qos_class_t cls)
8885
dispatch_qos_t qos = _dispatch_qos_from_qos_class(cls);
8986
dispatch_workq_monitor_t mon = &_dispatch_workq_monitors[qos-1];
9087
dispatch_assert(mon->dq == root_q);
91-
dispatch_tid tid = _dispatch_thread_getspecific(tid);
88+
dispatch_tid tid = _dispatch_tid_self();
9289
_dispatch_unfair_lock_lock(&mon->registered_tid_lock);
9390
dispatch_assert(mon->num_registered_tids < WORKQ_MAX_TRACKED_TIDS-1);
9491
int worker_id = mon->num_registered_tids++;
@@ -103,7 +100,8 @@ _dispatch_workq_worker_unregister(dispatch_queue_t root_q, qos_class_t cls)
103100
#if HAVE_DISPATCH_WORKQ_MONITORING
104101
dispatch_qos_t qos = _dispatch_qos_from_qos_class(cls);
105102
dispatch_workq_monitor_t mon = &_dispatch_workq_monitors[qos-1];
106-
dispatch_tid tid = _dispatch_thread_getspecific(tid);
103+
dispatch_assert(mon->dq == root_q);
104+
dispatch_tid tid = _dispatch_tid_self();
107105
_dispatch_unfair_lock_lock(&mon->registered_tid_lock);
108106
for (int i = 0; i < mon->num_registered_tids; i++) {
109107
if (mon->registered_tids[i] == tid) {
@@ -138,10 +136,10 @@ _dispatch_workq_count_runnable_workers(dispatch_workq_monitor_t mon)
138136
for (int i = 0; i < mon->num_registered_tids; i++) {
139137
dispatch_tid tid = mon->registered_tids[i];
140138
int fd;
141-
size_t bytes_read = -1;
139+
ssize_t bytes_read = -1;
142140

143141
int r = snprintf(path, sizeof(path), "/proc/%d/stat", tid);
144-
dispatch_assert(r > 0 && r < sizeof(path));
142+
dispatch_assert(r > 0 && r < (int)sizeof(path));
145143

146144
fd = open(path, O_RDONLY | O_NONBLOCK);
147145
if (unlikely(fd == -1)) {
@@ -179,7 +177,7 @@ _dispatch_workq_count_runnable_workers(dispatch_workq_monitor_t mon)
179177
static void
180178
_dispatch_workq_monitor_pools(void *context DISPATCH_UNUSED)
181179
{
182-
int global_soft_max = WORKQ_OVERSUBSCRIBE_FACTOR * dispatch_hw_config(active_cpus);
180+
int global_soft_max = WORKQ_OVERSUBSCRIBE_FACTOR * (int)dispatch_hw_config(active_cpus);
183181
int global_runnable = 0;
184182
for (dispatch_qos_t i = DISPATCH_QOS_MAX; i > DISPATCH_QOS_UNSPECIFIED; i--) {
185183
dispatch_workq_monitor_t mon = &_dispatch_workq_monitors[i-1];
@@ -228,7 +226,7 @@ static void
228226
_dispatch_workq_init_once(void *context DISPATCH_UNUSED)
229227
{
230228
#if HAVE_DISPATCH_WORKQ_MONITORING
231-
int target_runnable = dispatch_hw_config(active_cpus);
229+
int target_runnable = (int)dispatch_hw_config(active_cpus);
232230
for (dispatch_qos_t i = DISPATCH_QOS_MAX; i > DISPATCH_QOS_UNSPECIFIED; i--) {
233231
dispatch_workq_monitor_t mon = &_dispatch_workq_monitors[i-1];
234232
mon->dq = _dispatch_get_root_queue(i, false);

src/internal.h

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,9 @@ DISPATCH_EXPORT DISPATCH_NOTHROW void dispatch_atfork_child(void);
394394
DISPATCH_EXPORT DISPATCH_NOINLINE
395395
void _dispatch_bug(size_t line, long val);
396396

397-
#if HAVE_MACH
398397
DISPATCH_NOINLINE
399398
void _dispatch_bug_client(const char* msg);
399+
#if HAVE_MACH
400400
DISPATCH_NOINLINE
401401
void _dispatch_bug_mach_client(const char *msg, mach_msg_return_t kr);
402402
#endif // HAVE_MACH
@@ -466,7 +466,9 @@ void _dispatch_log(const char *msg, ...);
466466
} \
467467
} while (0)
468468
#else
469-
static inline void _dispatch_assert(long e, long line) {
469+
static inline void
470+
_dispatch_assert(long e, size_t line)
471+
{
470472
if (DISPATCH_DEBUG && !e) _dispatch_abort(line, e);
471473
}
472474
#define dispatch_assert(e) _dispatch_assert((long)(e), __LINE__)
@@ -488,7 +490,9 @@ static inline void _dispatch_assert(long e, long line) {
488490
} \
489491
} while (0)
490492
#else
491-
static inline void _dispatch_assert_zero(long e, long line) {
493+
static inline void
494+
_dispatch_assert_zero(long e, size_t line)
495+
{
492496
if (DISPATCH_DEBUG && e) _dispatch_abort(line, e);
493497
}
494498
#define dispatch_assert_zero(e) _dispatch_assert_zero((long)(e), __LINE__)
@@ -512,7 +516,9 @@ static inline void _dispatch_assert_zero(long e, long line) {
512516
_e; \
513517
})
514518
#else
515-
static inline long _dispatch_assume(long e, long line) {
519+
static inline long
520+
_dispatch_assume(long e, long line)
521+
{
516522
if (!e) _dispatch_bug(line, e);
517523
return e;
518524
}
@@ -535,7 +541,9 @@ static inline long _dispatch_assume(long e, long line) {
535541
_e; \
536542
})
537543
#else
538-
static inline long _dispatch_assume_zero(long e, long line) {
544+
static inline long
545+
_dispatch_assume_zero(long e, long line)
546+
{
539547
if (e) _dispatch_bug(line, e);
540548
return e;
541549
}
@@ -850,7 +858,7 @@ _dispatch_ktrace_impl(uint32_t code, uint64_t a, uint64_t b,
850858
#define _dispatch_hardware_crash() \
851859
__asm__(""); __builtin_trap() // <rdar://problem/17464981>
852860

853-
#define _dispatch_set_crash_log_cause_and_message(ac, msg)
861+
#define _dispatch_set_crash_log_cause_and_message(ac, msg) ((void)(ac))
854862
#define _dispatch_set_crash_log_message(msg)
855863
#define _dispatch_set_crash_log_message_dynamic(msg)
856864

src/io.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#endif
2626

2727
#ifndef PAGE_SIZE
28-
#define PAGE_SIZE getpagesize()
28+
#define PAGE_SIZE ((size_t)getpagesize())
2929
#endif
3030

3131
#if DISPATCH_DATA_IS_BRIDGED_TO_NSDATA
@@ -1372,7 +1372,7 @@ _dispatch_fd_entry_create_with_fd(dispatch_fd_t fd, uintptr_t hash)
13721372
break;
13731373
);
13741374
}
1375-
int32_t dev = major(st.st_dev);
1375+
dev_t dev = major(st.st_dev);
13761376
// We have to get the disk on the global dev queue. The
13771377
// barrier queue cannot continue until that is complete
13781378
dispatch_suspend(fd_entry->barrier_queue);
@@ -2167,7 +2167,7 @@ _dispatch_operation_advise(dispatch_operation_t op, size_t chunk_size)
21672167
op->advise_offset += advise.ra_count;
21682168
#ifdef __linux__
21692169
_dispatch_io_syscall_switch(err,
2170-
readahead(op->fd_entry->fd, advise.ra_offset, advise.ra_count),
2170+
readahead(op->fd_entry->fd, advise.ra_offset, (size_t)advise.ra_count),
21712171
case EINVAL: break; // fd does refer to a non-supported filetype
21722172
default: (void)dispatch_assume_zero(err); break;
21732173
);

src/queue.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5329,6 +5329,8 @@ _dispatch_root_queue_push(dispatch_queue_t rq, dispatch_object_t dou,
53295329
if (_dispatch_root_queue_push_needs_override(rq, qos)) {
53305330
return _dispatch_root_queue_push_override(rq, dou, qos);
53315331
}
5332+
#else
5333+
(void)qos;
53325334
#endif
53335335
_dispatch_root_queue_push_inline(rq, dou, dou, 1);
53345336
}
@@ -5870,7 +5872,7 @@ _dispatch_worker_thread(void *context)
58705872

58715873
#if DISPATCH_USE_INTERNAL_WORKQUEUE
58725874
if (monitored) {
5873-
_dispatch_workq_worker_unregister(dq, qc->dgq_qos);
5875+
_dispatch_workq_worker_unregister(dq, qc->dgq_qos);
58745876
}
58755877
#endif
58765878
(void)os_atomic_inc2o(qc, dgq_thread_pool_size, release);
@@ -5962,6 +5964,7 @@ _dispatch_runloop_root_queue_wakeup_4CF(dispatch_queue_t dq)
59625964
_dispatch_runloop_queue_wakeup(dq, 0, false);
59635965
}
59645966

5967+
#if TARGET_OS_MAC
59655968
dispatch_runloop_handle_t
59665969
_dispatch_runloop_root_queue_get_port_4CF(dispatch_queue_t dq)
59675970
{
@@ -5970,6 +5973,7 @@ _dispatch_runloop_root_queue_get_port_4CF(dispatch_queue_t dq)
59705973
}
59715974
return _dispatch_runloop_queue_get_handle(dq);
59725975
}
5976+
#endif
59735977

59745978
static void
59755979
_dispatch_runloop_queue_handle_init(void *ctxt)

0 commit comments

Comments
 (0)