/* -----------------------------------------------------------------------------
- * $Id: Rts.h,v 1.12 2000/01/13 14:34:01 hwloidl Exp $
+ * $Id: Rts.h,v 1.18 2002/02/14 16:58:13 sof Exp $
*
* (c) The GHC Team, 1998-1999
*
#ifndef RTS_H
#define RTS_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef IN_STG_CODE
#define IN_STG_CODE 0
#endif
/* 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
-------------------------------------------------------------------------- */
Useful macros and inline functions
-------------------------------------------------------------------------- */
-/*
- * Use this on the RHS of macros which expand to nothing
- * to make sure that the macro can be used in a context which
- * demands a non-empty statement.
- */
-
-#define doNothing() do { } while (0)
-
#define stg_min(a,b) ({typeof(a) _a = (a), _b = (b); _a <= _b ? _a : _b; })
#define stg_max(a,b) ({typeof(a) _a = (a), _b = (b); _a <= _b ? _b : _a; })
-#endif RTS_H
+/* -------------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RTS_H */