X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FRts.h;h=c2b25a8a716a08470f5aa6b364a83c48f94ef397;hp=3ca0d9a9130d32cc826ad768bddbd13677a34fc4;hb=b88025eabcd83f65d1d81f09272f5172f06a60e7;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1 diff --git a/includes/Rts.h b/includes/Rts.h index 3ca0d9a..c2b25a8 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -18,6 +18,12 @@ extern "C" { #endif #include "Stg.h" +// Turn off inlining when debugging - it obfuscates things +#ifdef DEBUG +# undef STATIC_INLINE +# define STATIC_INLINE static +#endif + #include "RtsTypes.h" #if __GNUC__ >= 3 @@ -34,6 +40,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 +63,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 +96,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 -------------------------------------------------------------------------- */ @@ -123,21 +144,22 @@ extern void _assertFail (char *, unsigned int); #include "OSThreads.h" #include "SMP.h" -/* STG/Optimised-C related stuff */ -#include "Block.h" - /* GNU mp library */ #include "gmp.h" /* Macros for STG/C code */ +#include "Block.h" #include "ClosureMacros.h" #include "StgTicky.h" -#include "Stable.h" /* Runtime-system hooks */ #include "Hooks.h" #include "RtsMessages.h" +/* for StablePtr/getStablePtr/deRefStablePtr */ +#include "Storage.h" +#include "Stable.h" + #include "ieee-flpt.h" #include "Signals.h"