[project @ 2004-11-08 12:26:52 by simonmar]
[ghc-hetmet.git] / ghc / includes / RtsTypes.h
index 90741af..4a30ef9 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Time-stamp: <Mon Mar 05 2001 22:39:27 Stardate: [-30]6284.72 hwloidl>
+  Time-stamp: <2004-11-08 12:17:01 simonmar>
 
   RTS specific types.
 */
@@ -17,7 +17,13 @@ typedef unsigned long nat;           /* at least 32 bits (like int) */
 typedef unsigned int  nat;           /* at least 32 bits (like int) */
 #endif
 typedef unsigned long lnat;          /* at least 32 bits            */
+#ifndef _MSC_VER
 typedef unsigned long long ullong;   /* at least 32 bits            */
+typedef long long llong;
+#else
+typedef unsigned __int64   ullong;   /* at least 32 bits            */
+typedef __int64 llong;
+#endif
 
 /* ullong (64|128-bit) type: only include if needed (not ANSI) */
 #if defined(__GNUC__) 
@@ -35,6 +41,8 @@ typedef enum {
    Types specific to the parallel runtime system.
 */
 
+typedef ullong        rtsTime;
+
 #if defined(PAR)
 /* types only needed in the parallel system */
 typedef struct hashtable ParHashTable;
@@ -44,7 +52,6 @@ typedef struct hashlist ParHashList;
 // typedef W_ TIME;
 // typedef GlobalTaskId Proc;
 typedef int           GlobalTaskId;
-typedef ullong        rtsTime;
 typedef GlobalTaskId  PEs;
 typedef unsigned int  rtsWeight;
 typedef int           rtsPacket;