enable the x86-specific versions of atomic_inc()/atomic_dec()
[ghc-hetmet.git] / includes / Stg.h
index 7ac6b1a..06a8662 100644 (file)
 // Turn on C99 for .hc code.  This gives us the INFINITY and NAN
 // constants from math.h, which we occasionally need to use in .hc (#1861)
 # define _ISOC99_SOURCE
+
+// We need _BSD_SOURCE so that math.h defines things like gamma
+// on Linux
+# define _BSD_SOURCE
 #endif
 
 #if IN_STG_CODE == 0
 #define BITS_PER_BYTE 8
 #define BITS_IN(x) (BITS_PER_BYTE * sizeof(x))
 
+/* Compute offsets of struct fields
+ */
+#define STG_FIELD_OFFSET(s_type, field) ((StgWord)&(((s_type*)0)->field))
+
 /*
  * 'Portable' inlining:
  * INLINE_HEADER is for inline functions in header files (macros)
@@ -202,9 +210,7 @@ typedef StgWord StgWordArray[];
 #include "MachRegs.h"
 #include "Regs.h"
 
-#ifdef TICKY_TICKY
 #include "TickyCounters.h"
-#endif
 
 #if IN_STG_CODE
 /*