/* -----------------------------------------------------------------------------
- * $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
*
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"
*
#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;
#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