[project @ 2003-09-23 15:38:35 by simonmar]
[ghc-hetmet.git] / ghc / includes / Rts.h
index 97924dc..d6f5eb9 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Rts.h,v 1.17 2002/02/13 07:48:18 sof Exp $
+ * $Id: Rts.h,v 1.22 2002/12/19 17:57:39 panne Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -23,14 +23,6 @@ extern "C" {
    RTS Exit codes
    -------------------------------------------------------------------------- */
 
-#if ! defined(EXIT_SUCCESS) || ! defined(EXIT_FAILURE)
-/* "stdlib.h" should have defined these; but at least
-   on SunOS 4.1.3, this is not so.
-*/
-#define EXIT_SUCCESS 0
-#define EXIT_FAILURE 1
-#endif
-
 /* 255 is allegedly used by dynamic linkers to report linking failure */
 #define EXIT_INTERNAL_ERROR 254
 #define EXIT_DEADLOCK       253
@@ -45,6 +37,14 @@ extern "C" {
 /* declarations for runtime flags/values */
 #define MAX_RTS_ARGS 32
 
+#ifdef _WIN32
+/* On the yucky side..suppress -Wmissing-declarations warnings when
+ * including <windows.h>
+ */
+extern void* GetCurrentFiber ( void );
+extern void* GetFiberData ( void );
+#endif
+
 /* -----------------------------------------------------------------------------
    Assertions and Debuggery
    -------------------------------------------------------------------------- */
@@ -61,6 +61,12 @@ extern "C" {
 #define IF_DEBUG(c,s)  doNothing()
 #endif
 
+#ifdef DEBUG
+#define DEBUG_ONLY(s) s
+#else
+#define DEBUG_ONLY(s) doNothing()
+#endif
+
 #if defined(GRAN) && defined(DEBUG)
 #define IF_GRAN_DEBUG(c,s)  if (RtsFlags.GranFlags.Debug.c) { s; }
 #else
@@ -78,7 +84,7 @@ extern "C" {
    -------------------------------------------------------------------------- */
 
 #ifdef __GNUC__     /* Avoid spurious warnings                             */
-#if __GNUC__ >= 2 && __GNUC_MINOR__ >= 7
+#if (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ >= 3
 #define STG_NORETURN  __attribute__ ((noreturn))
 #define STG_UNUSED    __attribute__ ((unused))
 #else