summaryrefslogtreecommitdiff
path: root/includes/stg
diff options
context:
space:
mode:
authorRyan Newton <rrnewton@gmail.com>2013-08-01 12:18:16 -0400
committerRyan Newton <rrnewton@gmail.com>2013-08-21 11:29:48 -0400
commit372053c968ef92dbb822afe38f4ce70c3a7553af (patch)
tree3e0f1908f0e111e32b1bd1bdc047a3656f535d52 /includes/stg
parentb38af652ca576979d3a14d989c323db77429eadf (diff)
downloadhaskell-372053c968ef92dbb822afe38f4ce70c3a7553af.tar.gz
In the non-threaded RTS, make *_barrier functions EXTERN_INLINE, not #define. (fixes #8077)
Diffstat (limited to 'includes/stg')
-rw-r--r--includes/stg/SMP.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/includes/stg/SMP.h b/includes/stg/SMP.h
index bfd6bbcfab..99c25fe355 100644
--- a/includes/stg/SMP.h
+++ b/includes/stg/SMP.h
@@ -365,9 +365,12 @@ load_load_barrier(void) {
/* ---------------------------------------------------------------------- */
#else /* !THREADED_RTS */
-#define write_barrier() /* nothing */
-#define store_load_barrier() /* nothing */
-#define load_load_barrier() /* nothing */
+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 */
#if !IN_STG_CODE || IN_STGCRUN
INLINE_HEADER StgWord