-fno-code shouldn't be a mode.
[ghc-hetmet.git] / ghc / includes / RtsTypes.h
index 10c4bde..9e8c7b8 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Time-stamp: <Mon Nov 22 1999 21:29:44 Stardate: [-30]3939.47 hwloidl>
+  Time-stamp: <2005-03-30 12:02:33 simonmar>
 
   RTS specific types.
 */
 
 typedef unsigned int  nat;           /* at least 32 bits (like int) */
 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__) 
@@ -31,16 +37,17 @@ 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;
 typedef struct hashlist ParHashList;
 
-// typedef double REAL_TIME;
-// typedef W_ TIME;
-// typedef GlobalTaskId Proc;
+/* typedef double REAL_TIME; */
+/* typedef W_ TIME; */
+/* typedef GlobalTaskId Proc; */
 typedef int           GlobalTaskId;
-typedef ullong        rtsTime;
 typedef GlobalTaskId  PEs;
 typedef unsigned int  rtsWeight;
 typedef int           rtsPacket;
@@ -68,6 +75,11 @@ typedef struct gala {
 
 #elif defined(GRAN)
 
+/*
+ * GlobalTaskId is dummy in GranSim;
+ * we define it to have cleaner code in the RTS
+ */
+typedef int       GlobalTaskId;
 typedef lnat      rtsTime;
 typedef StgWord   PEs;