[project @ 2004-05-04 09:56:49 by simonpj]
[ghc-hetmet.git] / ghc / includes / StgTypes.h
index fd9401d..2492046 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: StgTypes.h,v 1.17 2001/07/26 03:08:39 ken Exp $
+ * $Id: StgTypes.h,v 1.20 2003/11/12 17:27:05 sof Exp $
  *
  * (c) The GHC Team, 1998-2000
  *
@@ -25,7 +25,7 @@
        StgCode, StgArray, StgByteArray, StgStablePtr, StgFunPtr,
        StgUnion.
 
- * WARNING: Keep this file and HsFFI.h in synch!
+ * WARNING: Keep this file, MachDeps.h, and HsFFI.h in synch!
  *
  * NOTE: assumes #include "config.h"
  * 
@@ -61,8 +61,13 @@ typedef unsigned int             StgWord32;
 
 #ifdef SUPPORT_LONG_LONGS
 /* assume long long is 64 bits */
+# ifndef _MSC_VER
 typedef signed long long int   StgInt64;
 typedef unsigned long long int StgWord64;
+# else
+typedef __int64 StgInt64;
+typedef unsigned __int64 StgWord64;
+# endif
 #elif SIZEOF_LONG == 8
 typedef signed   long          StgInt64;
 typedef unsigned long          StgWord64;
@@ -81,10 +86,12 @@ typedef unsigned __int64       StgWord64;
 #if SIZEOF_VOID_P == 8
 typedef StgInt64           StgInt;
 typedef StgWord64          StgWord;
+typedef StgWord32          StgHalfWord;
 #else
 #if SIZEOF_VOID_P == 4
 typedef StgInt32           StgInt; 
 typedef StgWord32          StgWord;
+typedef StgWord16          StgHalfWord;
 #else
 #error GHC untested on this architecture: sizeof(void *) != 4 or 8
 #endif