diff --git a/rts/CheckUnload.c b/rts/CheckUnload.c
index 3761fd2bf5cc25f1f55f646b09cce8ea54dc389b..3140b571b83008d55759d29193562da7712e3b6d 100644
--- a/rts/CheckUnload.c
+++ b/rts/CheckUnload.c
@@ -186,12 +186,12 @@ static void freeOCSectionIndices(OCSectionIndices *s_indices)
     stgFree(s_indices);
 }
 
-void initUnloadCheck()
+void initUnloadCheck(void)
 {
     global_s_indices = createOCSectionIndices();
 }
 
-void exitUnloadCheck()
+void exitUnloadCheck(void)
 {
     freeOCSectionIndices(global_s_indices);
     global_s_indices = NULL;
@@ -436,7 +436,7 @@ void markObjectCode(const void *addr)
 
 // Returns whether or not the GC that follows needs to mark code for potential
 // unloading.
-bool prepareUnloadCheck()
+bool prepareUnloadCheck(void)
 {
     if (global_s_indices == NULL) {
         return false;
@@ -453,7 +453,7 @@ bool prepareUnloadCheck()
     return true;
 }
 
-void checkUnload()
+void checkUnload(void)
 {
     if (global_s_indices == NULL) {
         return;
diff --git a/rts/ExecPage.c b/rts/ExecPage.c
index 0f83c8e1f597cbdbcefb25b2020d8bad5c602ff6..add135252b6109d16421baba38b44330f3c289e9 100644
--- a/rts/ExecPage.c
+++ b/rts/ExecPage.c
@@ -9,7 +9,7 @@
 #include "sm/OSMem.h"
 #include "linker/MMap.h"
 
-ExecPage *allocateExecPage() {
+ExecPage *allocateExecPage(void) {
     ExecPage *page = (ExecPage *) mmapAnonForLinker(getPageSize());
     return page;
 }
diff --git a/rts/ForeignExports.c b/rts/ForeignExports.c
index e4d7d9a39a0d50d2ddd511d1e69aa16e1c73f4d1..24e8e988612466279ca6fcd2830c6f11c47fe9c4 100644
--- a/rts/ForeignExports.c
+++ b/rts/ForeignExports.c
@@ -83,7 +83,7 @@ void foreignExportsLoadingObject(ObjectCode *oc)
     loading_obj = oc;
 }
 
-void foreignExportsFinishedLoadingObject()
+void foreignExportsFinishedLoadingObject(void)
 {
     ASSERT(loading_obj != NULL);
     loading_obj = NULL;
@@ -92,7 +92,7 @@ void foreignExportsFinishedLoadingObject()
 
 /* Caller must own linker_mutex so that we can safely modify
  * oc->stable_ptrs. */
-void processForeignExports()
+void processForeignExports(void)
 {
     while (pending) {
         struct ForeignExportsList *cur = pending;
diff --git a/rts/IPE.c b/rts/IPE.c
index 3c12e3c92aeac40cd3f37999f9c30956f20ebde3..0fbbfd1b5d4e1d58d2d38d94dcdba0743f122d05 100644
--- a/rts/IPE.c
+++ b/rts/IPE.c
@@ -173,7 +173,7 @@ InfoProvEnt *lookupIPE(const StgInfoTable *info) {
     return lookupHashTable(ipeMap, (StgWord)info);
 }
 
-void updateIpeMap() {
+void updateIpeMap(void) {
     // Check if there's any work at all. If not so, we can circumvent locking,
     // which decreases performance.
     IpeBufferListNode *pending = xchg_ptr((void **) &ipeBufferList, NULL);
diff --git a/rts/Libdw.c b/rts/Libdw.c
index 3243979fd3595ed3359d9c485373ca144aef1370..e1689c3ac4ff950290d4716693bb32a6169ad64f 100644
--- a/rts/Libdw.c
+++ b/rts/Libdw.c
@@ -75,7 +75,7 @@ void libdwFree(LibdwSession *session) {
 }
 
 // Create a libdw session with DWARF information for all loaded modules
-LibdwSession *libdwInit() {
+LibdwSession *libdwInit(void) {
     LibdwSession *session = stgCallocBytes(1, sizeof(LibdwSession),
                                            "libdwInit");
     // Initialize ELF library
diff --git a/rts/Linker.c b/rts/Linker.c
index 7eb0409709075f3e58dfad0e53c49369dd9f0009..152f6f9281c632680996172aeb5e4b78748eb6a7 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -1032,7 +1032,7 @@ SymbolAddr* loadSymbol(SymbolName *lbl, RtsSymbolInfo *pinfo) {
 }
 
 void
-printLoadedObjects() {
+printLoadedObjects(void) {
     ObjectCode* oc;
     for (oc = objects; oc; oc = oc->next) {
         if (oc->sections != NULL) {
diff --git a/rts/OldARMAtomic.c b/rts/OldARMAtomic.c
index deac848eba2fc2b8f1d65c12d125b9de525608c8..5166319a6619877858366a172f16dab95dd86811 100644
--- a/rts/OldARMAtomic.c
+++ b/rts/OldARMAtomic.c
@@ -39,7 +39,7 @@ static int arm_atomic_spin_trylock (void)
     return -1;
 }
 
-void arm_atomic_spin_lock()
+void arm_atomic_spin_lock(void)
 {
   while (arm_atomic_spin_trylock())
 #if defined(HAVE_SCHED_H)
@@ -49,7 +49,7 @@ void arm_atomic_spin_lock()
 #endif
 }
 
-void arm_atomic_spin_unlock()
+void arm_atomic_spin_unlock(void)
 {
   atomic_spin = 0;
 }
diff --git a/rts/Printer.c b/rts/Printer.c
index 85e3069967db43eb52e8b661e9984ab82a068cfb..a84d933879f6f3fd62f7c4b2027b4eb20290f095 100644
--- a/rts/Printer.c
+++ b/rts/Printer.c
@@ -759,7 +759,7 @@ void printStaticObjects( StgClosure *p )
     }
 }
 
-void printWeakLists()
+void printWeakLists(void)
 {
     debugBelch("======= WEAK LISTS =======\n");
 
@@ -786,7 +786,7 @@ void printWeakLists()
     debugBelch("=========================\n");
 }
 
-void printLargeAndPinnedObjects()
+void printLargeAndPinnedObjects(void)
 {
     debugBelch("====== PINNED OBJECTS ======\n");
 
diff --git a/rts/ReportMemoryMap.c b/rts/ReportMemoryMap.c
index c5e7a92c4d139fe1bdc7170e6e6ea60e69f511d6..446ee8862ae90f36e51efc4d44946b23e74a0cc6 100644
--- a/rts/ReportMemoryMap.c
+++ b/rts/ReportMemoryMap.c
@@ -25,7 +25,7 @@
 
 #if defined(mingw32_HOST_OS)
 
-void reportMemoryMap() {
+void reportMemoryMap(void) {
     debugBelch("\nMemory map:\n");
     uint8_t *addr = NULL;
     while (true) {
@@ -74,7 +74,7 @@ void reportMemoryMap() {
 
 #elif defined(darwin_HOST_OS)
 
-void reportMemoryMap() {
+void reportMemoryMap(void) {
     // Inspired by MacFUSE /proc implementation
     debugBelch("\nMemory map:\n");
     while (true) {
@@ -112,7 +112,7 @@ void reportMemoryMap() {
 #else
 
 // Linux et al.
-void reportMemoryMap() {
+void reportMemoryMap(void) {
     debugBelch("\nMemory map:\n");
     FILE *f = fopen("/proc/self/maps", "r");
     if (f == NULL) {
diff --git a/rts/RtsAPI.c b/rts/RtsAPI.c
index 1d046afbbd51500f8f10e966127500aca7aef232..c5fd84ee316c5017f9edbba223c9a7db0b5d5fce 100644
--- a/rts/RtsAPI.c
+++ b/rts/RtsAPI.c
@@ -893,7 +893,7 @@ rts_resume (PauseToken *pauseToken STG_UNUSED)
     stg_exit(EXIT_FAILURE);
 }
 
-bool rts_isPaused()
+bool rts_isPaused(void)
 {
     errorBelch("Warning: Pausing/Resuming the RTS is only possible for "
                "multithreaded RTS.");
diff --git a/rts/RtsMessages.c b/rts/RtsMessages.c
index d760bd233cf01ebc47db79d877c792dc111620b3..6d8a524c4c9d3267e1005f39ca87532f87551386 100644
--- a/rts/RtsMessages.c
+++ b/rts/RtsMessages.c
@@ -330,7 +330,7 @@ rtsDebugMsgFn(const char *s, va_list ap)
 void rtsBadAlignmentBarf(void) STG_NORETURN;
 
 void
-rtsBadAlignmentBarf()
+rtsBadAlignmentBarf(void)
 {
     barf("Encountered incorrectly aligned pointer. This can't be good.");
 }
@@ -339,7 +339,7 @@ rtsBadAlignmentBarf()
 void rtsOutOfBoundsAccess(void) STG_NORETURN;
 
 void
-rtsOutOfBoundsAccess()
+rtsOutOfBoundsAccess(void)
 {
     barf("Encountered out of bounds array access.");
 }
@@ -348,7 +348,7 @@ rtsOutOfBoundsAccess()
 void rtsMemcpyRangeOverlap(void) STG_NORETURN;
 
 void
-rtsMemcpyRangeOverlap()
+rtsMemcpyRangeOverlap(void)
 {
     barf("Encountered overlapping source/destination ranges in a memcpy-using op.");
 }
diff --git a/rts/Schedule.c b/rts/Schedule.c
index 685862a08ba788256d526be2604f57b53e24a8fe..86e5e2a97b608b9d8032ededf6ae731a884ace8e 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2384,7 +2384,7 @@ setNumCapabilities (uint32_t new_n_capabilities USED_IF_THREADS)
  * ------------------------------------------------------------------------- */
 
 static void
-deleteAllThreads ()
+deleteAllThreads (void)
 {
     // NOTE: only safe to call if we own all capabilities.
 
diff --git a/rts/StaticPtrTable.c b/rts/StaticPtrTable.c
index 282d9b78999534d365da67be1d15bef7de7f8877..b3db8f72ff93aff617f579a8f574616042581ece 100644
--- a/rts/StaticPtrTable.c
+++ b/rts/StaticPtrTable.c
@@ -99,11 +99,11 @@ int hs_spt_keys(StgPtr keys[], int szKeys) {
     return 0;
 }
 
-int hs_spt_key_count() {
+int hs_spt_key_count(void) {
   return spt ? keyCountHashTable(spt) : 0;
 }
 
-void exitStaticPtrTable() {
+void exitStaticPtrTable(void) {
   if (spt) {
     freeHashTable(spt, freeSptEntry);
     spt = NULL;
diff --git a/rts/Stats.c b/rts/Stats.c
index a2701bd0c81f21fc87e3401c8a80c7873c241cd7..e60c0f2ac38e4eb7e7f82da700cc88e47a0b5a61 100644
--- a/rts/Stats.c
+++ b/rts/Stats.c
@@ -222,7 +222,7 @@ initStats1 (void)
 }
 
 void
-initGenerationStats()
+initGenerationStats(void)
 {
     for (uint32_t i = 0; i < RtsFlags.GcFlags.generations; i++) {
         GC_coll_cpu[i] = 0;
@@ -235,7 +235,7 @@ initGenerationStats()
    Reset stats of child process after fork()
    ------------------------------------------------------------------------ */
 
-void resetChildProcessStats()
+void resetChildProcessStats(void)
 {
     initStats0();
     initGenerationStats();
@@ -295,7 +295,7 @@ stat_startGCSync (gc_thread *gct)
 }
 
 void
-stat_startNonmovingGc ()
+stat_startNonmovingGc (void)
 {
     ACQUIRE_LOCK(&stats_mutex);
     start_nonmoving_gc_cpu = getCurrentThreadCPUTime();
@@ -304,7 +304,7 @@ stat_startNonmovingGc ()
 }
 
 void
-stat_endNonmovingGc ()
+stat_endNonmovingGc (void)
 {
     Time cpu = getCurrentThreadCPUTime();
     Time elapsed = getProcessElapsedTime();
@@ -323,7 +323,7 @@ stat_endNonmovingGc ()
 }
 
 void
-stat_startNonmovingGcSync ()
+stat_startNonmovingGcSync (void)
 {
     ACQUIRE_LOCK(&stats_mutex);
     start_nonmoving_gc_sync_elapsed = getProcessElapsedTime();
@@ -332,7 +332,7 @@ stat_startNonmovingGcSync ()
 }
 
 void
-stat_endNonmovingGcSync ()
+stat_endNonmovingGcSync (void)
 {
     Time end_elapsed = getProcessElapsedTime();
     ACQUIRE_LOCK(&stats_mutex);
@@ -1469,7 +1469,7 @@ stat_exitReport (void)
     RELEASE_LOCK(&all_tasks_mutex);
 }
 
-void stat_exit()
+void stat_exit(void)
 {
 #if defined(THREADED_RTS)
         closeMutex(&stats_mutex);
diff --git a/rts/Ticky.c b/rts/Ticky.c
index e6a2787b7caa8dd6ebcc4bf99aef6ac00f75fd5a..65d52c6708137b9d6f12265e2c17ac6f57596adc 100644
--- a/rts/Ticky.c
+++ b/rts/Ticky.c
@@ -403,14 +403,14 @@ printRegisteredCounterInfo (FILE *tf)
     }
 }
 
-void emitTickyCounterDefs()
+void emitTickyCounterDefs(void)
 {
 #if defined(TRACING)
     postTickyCounterDefs(ticky_entry_ctrs);
 #endif
 }
 
-void emitTickyCounterSamples()
+void emitTickyCounterSamples(void)
 {
 #if defined(TRACING)
     postTickyCounterSamples(ticky_entry_ctrs);
diff --git a/rts/Trace.c b/rts/Trace.c
index 77e3bf0bd99759e4173d673ea4906ebb5ed5ad88..68f82fff81eeb2aba25c4da48c8be5f82c831b04 100644
--- a/rts/Trace.c
+++ b/rts/Trace.c
@@ -136,7 +136,7 @@ void resetTracing (void)
     restartEventLogging();
 }
 
-void flushTrace ()
+void flushTrace (void)
 {
     if (eventlog_enabled) {
         flushEventLog(NULL);
@@ -876,7 +876,7 @@ void traceThreadLabel_(Capability *cap,
     }
 }
 
-void traceConcMarkBegin()
+void traceConcMarkBegin(void)
 {
     if (eventlog_enabled)
         postEventNoCap(EVENT_CONC_MARK_BEGIN);
@@ -888,25 +888,25 @@ void traceConcMarkEnd(StgWord32 marked_obj_count)
         postConcMarkEnd(marked_obj_count);
 }
 
-void traceConcSyncBegin()
+void traceConcSyncBegin(void)
 {
     if (eventlog_enabled)
         postEventNoCap(EVENT_CONC_SYNC_BEGIN);
 }
 
-void traceConcSyncEnd()
+void traceConcSyncEnd(void)
 {
     if (eventlog_enabled)
         postEventNoCap(EVENT_CONC_SYNC_END);
 }
 
-void traceConcSweepBegin()
+void traceConcSweepBegin(void)
 {
     if (eventlog_enabled)
         postEventNoCap(EVENT_CONC_SWEEP_BEGIN);
 }
 
-void traceConcSweepEnd()
+void traceConcSweepEnd(void)
 {
     if (eventlog_enabled)
         postEventNoCap(EVENT_CONC_SWEEP_END);
diff --git a/rts/adjustor/LibffiAdjustor.c b/rts/adjustor/LibffiAdjustor.c
index 88b2df2a91ac2da296adda017eb1e7790f9a4a44..203b3ab0c873352a655edcaf274f01ed07c8b793 100644
--- a/rts/adjustor/LibffiAdjustor.c
+++ b/rts/adjustor/LibffiAdjustor.c
@@ -31,7 +31,7 @@ static ffi_status ffi_alloc_prep_closure(ffi_closure **pclosure, ffi_cif *cif,
 /* Maps AdjustorExecutable* to AdjustorWritable*. */
 static HashTable* allocatedExecs;
 
-void initAdjustors() {
+void initAdjustors(void) {
     allocatedExecs = allocHashTable();
 }
 
diff --git a/rts/adjustor/NativeAmd64.c b/rts/adjustor/NativeAmd64.c
index 33b87e32f0980db004926c21d593715f18e255f0..086a8533622b51b1dfc8b0012053f81bac5daa3c 100644
--- a/rts/adjustor/NativeAmd64.c
+++ b/rts/adjustor/NativeAmd64.c
@@ -28,7 +28,7 @@ static struct AdjustorPool *simple_ccall_pool;
 DECLARE_ADJUSTOR_TEMPLATE(complex_ccall);
 static struct AdjustorPool *complex_ccall_pool;
 
-void initAdjustors()
+void initAdjustors(void)
 {
     simple_ccall_pool = new_adjustor_pool_from_template(&simple_ccall_adjustor_template);
     complex_ccall_pool = new_adjustor_pool_from_template(&complex_ccall_adjustor_template);
diff --git a/rts/adjustor/NativeAmd64Mingw.c b/rts/adjustor/NativeAmd64Mingw.c
index 8d18d3a833c60134e227ce8f60d6b1e998931287..4e3c305d66cde359c620e136ec4e5903efb63726 100644
--- a/rts/adjustor/NativeAmd64Mingw.c
+++ b/rts/adjustor/NativeAmd64Mingw.c
@@ -34,7 +34,7 @@ static struct AdjustorPool *complex_float_ccall_pool;
 DECLARE_ADJUSTOR_TEMPLATE(complex_nofloat_ccall);
 static struct AdjustorPool *complex_nofloat_ccall_pool;
 
-void initAdjustors()
+void initAdjustors(void)
 {
     simple_ccall_pool = new_adjustor_pool_from_template(&simple_ccall_adjustor_template);
     complex_float_ccall_pool = new_adjustor_pool_from_template(&complex_float_ccall_adjustor_template);
diff --git a/rts/adjustor/NativeIA64.c b/rts/adjustor/NativeIA64.c
index f9556249453d0bf3b18dd9e5d9af87bfa05b6e47..2fe40ce5667999476e48049c5a9a9dddca44daca 100644
--- a/rts/adjustor/NativeIA64.c
+++ b/rts/adjustor/NativeIA64.c
@@ -35,7 +35,7 @@ stgAllocStable(size_t size_in_bytes, StgStablePtr *stable)
     return(&(arr->payload));
 }
 
-void initAdjustors() { }
+void initAdjustors(void) { }
 
 void*
 createAdjustor(int cconv, StgStablePtr hptr,
diff --git a/rts/adjustor/NativePowerPC.c b/rts/adjustor/NativePowerPC.c
index 5abb27533a80a5aeff5e1775b8ee869f180b77c4..6cc4093d63e0da5fc424b921adafd73a8a295e90 100644
--- a/rts/adjustor/NativePowerPC.c
+++ b/rts/adjustor/NativePowerPC.c
@@ -53,7 +53,7 @@ typedef struct AdjustorStub {
 #endif /* !(defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)) */
 #endif /* defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) */
 
-void initAdjustors() { }
+void initAdjustors(void) { }
 
 void*
 createAdjustor(int cconv, StgStablePtr hptr,
diff --git a/rts/adjustor/Nativei386.c b/rts/adjustor/Nativei386.c
index 71143b00d39864c8438bf910d9e9b5bc49dd3a5c..22db4fa4ca15944d6c0005a34235d53a7b1d661f 100644
--- a/rts/adjustor/Nativei386.c
+++ b/rts/adjustor/Nativei386.c
@@ -92,7 +92,7 @@ static void mk_stdcall_adjustor(uint8_t *code, const void *context, void *user_d
 static struct AdjustorPool *stdcall_pool;
 #endif
 
-void initAdjustors() {
+void initAdjustors(void) {
     ccall_pool = new_adjustor_pool(sizeof(struct CCallContext), CCALL_ADJUSTOR_LEN, mk_ccall_adjustor, NULL);
 #if !defined(darwin_HOST_OS)
     stdcall_pool = new_adjustor_pool(sizeof(struct AdjustorContext), STDCALL_ADJUSTOR_LEN, mk_stdcall_adjustor, NULL);
diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c
index d6b41c43784a795db16c8b3718f0b600bedd6251..476888615cb3e511f63e0c93fe3f66cd753d771c 100644
--- a/rts/eventlog/EventLog.c
+++ b/rts/eventlog/EventLog.c
@@ -359,7 +359,7 @@ get_n_capabilities(void)
 }
 
 void
-initEventLogging()
+initEventLogging(void)
 {
     /*
      * Allocate buffer(s) to store events.
@@ -1561,7 +1561,7 @@ void flushLocalEventsBuf(Capability *cap)
 
 // Flush all capabilities' event buffers when we already hold all capabilities.
 // Used during forkProcess.
-void flushAllCapsEventsBufs()
+void flushAllCapsEventsBufs(void)
 {
     if (!event_log_writer) {
         return;
diff --git a/rts/linker/PEi386.c b/rts/linker/PEi386.c
index b5134235b027624942a9f8122d4fefb9ce94a23a..e404abc85cce3546c2593ecd7e488b3e58de93b3 100644
--- a/rts/linker/PEi386.c
+++ b/rts/linker/PEi386.c
@@ -433,7 +433,7 @@ const int default_alignment = 8;
    the pointer as a redirect.  Essentially it's a DATA DLL reference.  */
 const void* __rts_iob_func = (void*)&__acrt_iob_func;
 
-void initLinker_PEi386()
+void initLinker_PEi386(void)
 {
     if (!ghciInsertSymbolTable(WSTR("(GHCi/Ld special symbols)"),
                                symhash, "__image_base__",
@@ -452,7 +452,7 @@ void initLinker_PEi386()
   atexit (exitLinker_PEi386);
 }
 
-void exitLinker_PEi386()
+void exitLinker_PEi386(void)
 {
 }
 
diff --git a/rts/posix/GetTime.c b/rts/posix/GetTime.c
index 7588236ce50933688dfab181a8d27b2cd7e1d2c6..500f5e717aab02cf8ba4d1a88edb7cba99e0343d 100644
--- a/rts/posix/GetTime.c
+++ b/rts/posix/GetTime.c
@@ -45,7 +45,7 @@ static uint64_t timer_scaling_factor_numer = 0;
 static uint64_t timer_scaling_factor_denom = 0;
 #endif
 
-void initializeTimer()
+void initializeTimer(void)
 {
 #if defined(darwin_HOST_OS)
     mach_timebase_info_data_t info;
diff --git a/rts/sm/BlockAlloc.c b/rts/sm/BlockAlloc.c
index 7f78bac04a75e5127dbe7a00bfab7c55ff6d6c8b..3fb8afcd0735888469a2ee056128d32616fde6ca 100644
--- a/rts/sm/BlockAlloc.c
+++ b/rts/sm/BlockAlloc.c
@@ -1138,14 +1138,14 @@ static void sortDeferredList(bdescr** head) {
     }
 }
 
-void deferMBlockFreeing() {
+void deferMBlockFreeing(void) {
     if(defer_mblock_frees) {
         barf("MBlock freeing is already deferred");
     }
     defer_mblock_frees = true;
 }
 
-void commitMBlockFreeing() {
+void commitMBlockFreeing(void) {
     if(! defer_mblock_frees) {
         barf("MBlock freeing was never deferred");
     }
diff --git a/rts/sm/GC.c b/rts/sm/GC.c
index 798a86c0baf02604de215c6c00f0b146161a9603..7fbcec0038b573954edae8616011818476184499 100644
--- a/rts/sm/GC.c
+++ b/rts/sm/GC.c
@@ -184,7 +184,7 @@ uint32_t n_gc_threads;
 static uint32_t n_gc_idle_threads;
 bool work_stealing;
 
-static bool is_par_gc() {
+static bool is_par_gc(void) {
 #if defined(THREADED_RTS)
     if(n_gc_threads == 1) { return false; }
     ASSERT(n_gc_threads > n_gc_idle_threads);
diff --git a/rts/sm/NonMoving.c b/rts/sm/NonMoving.c
index 66cc512c12a049e7fefde21463e832a7184f7fd0..018d7d76d9c63704537bb44e9a95bb16b9027a09 100644
--- a/rts/sm/NonMoving.c
+++ b/rts/sm/NonMoving.c
@@ -1338,7 +1338,7 @@ void locate_object(P_ obj)
 #endif
 }
 
-void nonmovingPrintSweepList()
+void nonmovingPrintSweepList(void)
 {
     debugBelch("==== SWEEP LIST =====\n");
     int i = 0;
diff --git a/rts/sm/NonMovingCensus.c b/rts/sm/NonMovingCensus.c
index 27494284fe4f4236cbf38fef5453dc8e40a933de..8edf692f887c69208951162f4f7d955135f2b250 100644
--- a/rts/sm/NonMovingCensus.c
+++ b/rts/sm/NonMovingCensus.c
@@ -141,7 +141,7 @@ void nonmovingPrintAllocatorCensus(bool collect_live_words)
     }
 }
 
-void nonmovingTraceAllocatorCensus()
+void nonmovingTraceAllocatorCensus(void)
 {
 #if defined(TRACING)
     if (!RtsFlags.GcFlags.useNonmoving && !TRACE_nonmoving_gc)
diff --git a/rts/sm/NonMovingMark.c b/rts/sm/NonMovingMark.c
index af2bce354db9f875d761f9385a4dcdd8abe7d60a..6ca963ec1de8916c024ab9264aca4606a8309f9c 100644
--- a/rts/sm/NonMovingMark.c
+++ b/rts/sm/NonMovingMark.c
@@ -260,7 +260,7 @@ StgWord nonmoving_write_barrier_enabled = false;
 MarkQueue *current_mark_queue = NULL;
 
 /* Initialise update remembered set data structures */
-void nonmovingMarkInit() {
+void nonmovingMarkInit(void) {
 #if defined(THREADED_RTS)
     initMutex(&upd_rem_set_lock);
     initCondition(&upd_rem_set_flushed_cond);
@@ -367,7 +367,7 @@ void nonmovingBeginFlush(Task *task)
 /* Wait until a capability has flushed its update remembered set. Returns true
  * if all capabilities have flushed.
  */
-bool nonmovingWaitForFlush()
+bool nonmovingWaitForFlush(void)
 {
     ACQUIRE_LOCK(&upd_rem_set_lock);
     debugTrace(DEBUG_nonmoving_gc, "Flush count %d", upd_rem_set_flush_count);
@@ -2062,7 +2062,7 @@ void nonmovingMarkDeadWeaks (struct MarkQueue_ *queue, StgWeak **dead_weaks)
 }
 
 // Non-moving heap variant of `tidyThreadList`
-void nonmovingTidyThreads ()
+void nonmovingTidyThreads (void)
 {
     StgTSO *next;
     StgTSO **prev = &nonmoving_old_threads;
diff --git a/rts/sm/NonMovingSweep.c b/rts/sm/NonMovingSweep.c
index 381a66e9b57f7655c3e1dedb094751c2f7bee776..4f634e71a18632b3d70bac40eb55f56adf161a9e 100644
--- a/rts/sm/NonMovingSweep.c
+++ b/rts/sm/NonMovingSweep.c
@@ -74,7 +74,7 @@ nonmovingSweepSegment(struct NonmovingSegment *seg)
 
 #if defined(DEBUG)
 
-void nonmovingGcCafs()
+void nonmovingGcCafs(void)
 {
     uint32_t i = 0;
     StgIndStatic *next;
@@ -279,7 +279,7 @@ dirty_BLOCKING_QUEUE:
 }
 
 /* N.B. This happens during the pause so we own all capabilities. */
-void nonmovingSweepMutLists()
+void nonmovingSweepMutLists(void)
 {
     for (uint32_t n = 0; n < getNumCapabilities(); n++) {
         Capability *cap = getCapability(n);
@@ -324,7 +324,7 @@ static void freeChain_lock_max(bdescr *bd, int max_dur)
   RELEASE_SM_LOCK;
 }
 
-void nonmovingSweepLargeObjects()
+void nonmovingSweepLargeObjects(void)
 {
     freeChain_lock_max(nonmoving_large_objects, 10000);
     nonmoving_large_objects = nonmoving_marked_large_objects;
@@ -333,7 +333,7 @@ void nonmovingSweepLargeObjects()
     n_nonmoving_marked_large_blocks = 0;
 }
 
-void nonmovingSweepCompactObjects()
+void nonmovingSweepCompactObjects(void)
 {
     bdescr *next;
     ACQUIRE_SM_LOCK;
@@ -367,7 +367,7 @@ static bool is_alive(StgClosure *p)
     }
 }
 
-void nonmovingSweepStableNameTable()
+void nonmovingSweepStableNameTable(void)
 {
     // See comments in gcStableTables
 
diff --git a/rts/wasm/GetTime.c b/rts/wasm/GetTime.c
index 3e9e304f39c8084854ca2a25c2f77b5a15c738f9..a57ba128ee422249d62b389e3ca011ac60fc2c24 100644
--- a/rts/wasm/GetTime.c
+++ b/rts/wasm/GetTime.c
@@ -15,7 +15,7 @@
 #include <time.h>
 #include <sys/time.h>
 
-void initializeTimer()
+void initializeTimer(void)
 {
 }
 
diff --git a/rts/win32/AsyncMIO.c b/rts/win32/AsyncMIO.c
index 00d1638d6343fee431ee432d59525a0f2ea2bf11..32465d682a52bcde0d8ca72d4c026b0cb75fd4eb 100644
--- a/rts/win32/AsyncMIO.c
+++ b/rts/win32/AsyncMIO.c
@@ -150,7 +150,7 @@ addDoProcRequest(void* proc, void* param)
 
 
 int
-startupAsyncIO()
+startupAsyncIO(void)
 {
     if (!StartIOManager()) {
         return 0;
diff --git a/rts/win32/AsyncWinIO.c b/rts/win32/AsyncWinIO.c
index 2c97ab56351a63fdb853b0db3ded6e1ca587dff3..71a8c158b28e8860e54280694e0f9032dae462f0 100644
--- a/rts/win32/AsyncWinIO.c
+++ b/rts/win32/AsyncWinIO.c
@@ -435,7 +435,7 @@ static void notifyScheduler(uint32_t num) {
     processRemoteCompletion queued.
     IO runner thread blocked until processRemoteCompletion has run.
     */
-bool queueIOThread()
+bool queueIOThread(void)
 {
   bool result = false;
 #if !defined(THREADED_RTS)
diff --git a/rts/win32/ConsoleHandler.c b/rts/win32/ConsoleHandler.c
index a7940a60c0cbde08b5dc5d32e19fd42b5a2ded36..c54a798ccfcb1ced34e510ec49b81cfca4c25634 100644
--- a/rts/win32/ConsoleHandler.c
+++ b/rts/win32/ConsoleHandler.c
@@ -332,7 +332,7 @@ rts_ConsoleHandlerDone (int ev USED_IF_NOT_THREADS)
  * up as part Ctrl-C delivery.
  */
 int
-rts_waitConsoleHandlerCompletion()
+rts_waitConsoleHandlerCompletion(void)
 {
     /* As long as the worker doesn't need to do a multiple wait,
      * let's keep this HANDLE private to this 'module'.
diff --git a/rts/win32/GetTime.c b/rts/win32/GetTime.c
index 1722e14f8f20a8da805179c799b409b513aed32a..e401f8c571da33c450da2c07b875b19004e9823a 100644
--- a/rts/win32/GetTime.c
+++ b/rts/win32/GetTime.c
@@ -66,7 +66,7 @@ static LARGE_INTEGER qpc_frequency = {.QuadPart = 0};
 // Initialize qpc_frequency. This function should be called before any call to
 // getMonotonicNSec.  If QPC is not supported on this system, qpc_frequency is
 // set to 0.
-void initializeTimer()
+void initializeTimer(void)
 {
     BOOL qpc_supported = QueryPerformanceFrequency(&qpc_frequency);
     if (!qpc_supported)
@@ -76,7 +76,7 @@ void initializeTimer()
 }
 
 HsWord64
-getMonotonicNSec()
+getMonotonicNSec(void)
 {
     if (qpc_frequency.QuadPart)
     {
diff --git a/rts/win32/OSThreads.c b/rts/win32/OSThreads.c
index f02a58d0ed18e4566a98df304f0dbc99ed05aa77..2d2c59fa30830df4bc10f5eb2956d94e0c02e920 100644
--- a/rts/win32/OSThreads.c
+++ b/rts/win32/OSThreads.c
@@ -28,14 +28,14 @@ static uint32_t* cpuGroupCumulativeCache = NULL;
 static uint8_t* cpuGroupDistCache = NULL;
 
 void
-yieldThread()
+yieldThread(void)
 {
   SwitchToThread();
   return;
 }
 
 void
-shutdownThread()
+shutdownThread(void)
 {
     ExitThread(0);
     barf("ExitThread() returned"); // avoid gcc warning
@@ -65,7 +65,7 @@ createOSThread (OSThreadId* pId, const char *name STG_UNUSED,
 }
 
 OSThreadId
-osThreadId()
+osThreadId(void)
 {
   return GetCurrentThreadId();
 }
diff --git a/rts/win32/WorkQueue.c b/rts/win32/WorkQueue.c
index 1d2e9c7a41c0c0be15e36aeb1dcc58ddad3c888b..c5ffc96d571be9979ecd3e9ec8360d62a6babe01 100644
--- a/rts/win32/WorkQueue.c
+++ b/rts/win32/WorkQueue.c
@@ -40,7 +40,7 @@ newSemaphore(int initCount, int max)
  *
  */
 WorkQueue*
-NewWorkQueue()
+NewWorkQueue(void)
 {
   WorkQueue* wq = (WorkQueue*)stgMallocBytes(sizeof(WorkQueue), "NewWorkQueue");