From 3b12e852affd6a933df53fb0713d9041ed076633 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Wed, 21 Jun 2023 21:04:23 -0400
Subject: [PATCH] rts: Work around missing prototypes errors

Darwin's toolchain inexpliciably claims that `write_barrier` and friends
have declarations without prototypes, despite the fact that (a) they are
definitions, and (b) the prototypes appear only a few lines above. Work
around this by making the definitions proper prototypes.

(cherry picked from commit 5b6612bc4f6b0a7ecc9868750bee1c359ffca871)
---
 rts/include/stg/SMP.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/rts/include/stg/SMP.h b/rts/include/stg/SMP.h
index 6cdbb15d149..a4483285431 100644
--- a/rts/include/stg/SMP.h
+++ b/rts/include/stg/SMP.h
@@ -589,9 +589,9 @@ load_load_barrier(void) {
 EXTERN_INLINE void write_barrier(void);
 EXTERN_INLINE void store_load_barrier(void);
 EXTERN_INLINE void load_load_barrier(void);
-EXTERN_INLINE void write_barrier     () {} /* nothing */
-EXTERN_INLINE void store_load_barrier() {} /* nothing */
-EXTERN_INLINE void load_load_barrier () {} /* nothing */
+EXTERN_INLINE void write_barrier     (void) {} /* nothing */
+EXTERN_INLINE void store_load_barrier(void) {} /* nothing */
+EXTERN_INLINE void load_load_barrier (void) {} /* nothing */
 
 // Relaxed atomic operations
 #define RELAXED_LOAD(ptr) *ptr
-- 
GitLab