Massive patch for the first months work adding System FC to GHC #35
[ghc-hetmet.git] / includes / Rts.h
index 3ca0d9a..7a30d9e 100644 (file)
@@ -34,6 +34,10 @@ extern "C" {
 #define __MSVCRT__ 1
 #endif
 
+/* Needed to get the macro version of errno on some OSs, and also to
+   get prototypes for the _r versions of C library functions. */
+#define _REENTRANT 1
+
 /*
  * We often want to know the size of something in units of an
  * StgWord... (rounded up, of course!)
@@ -53,7 +57,7 @@ extern "C" {
 #define ASSERT(predicate) /* nothing */
 #else
 
-extern void _assertFail (char *, unsigned int);
+extern void _assertFail (const char *, unsigned int);
 
 #define ASSERT(predicate)                      \
        if (predicate)                          \
@@ -86,6 +90,17 @@ extern void _assertFail (char *, unsigned int);
 #define USED_IF_NOT_THREADS
 #endif
 
+/*
+ * Getting printf formats right for platform-dependent typedefs
+ */
+#if SIZEOF_LONG == 8
+#define FMT_Word64 "lu"
+#define FMT_Int64  "ld"
+#else
+#define FMT_Word64 "llu"
+#define FMT_Int64  "lld"
+#endif
+
 /* -----------------------------------------------------------------------------
    Include everything STG-ish
    -------------------------------------------------------------------------- */