projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2004-09-06 11:00:21 by simonmar]
[ghc-hetmet.git]
/
ghc
/
includes
/
StgTypes.h
diff --git
a/ghc/includes/StgTypes.h
b/ghc/includes/StgTypes.h
index
fd9401d
..
ae9eec5
100644
(file)
--- a/
ghc/includes/StgTypes.h
+++ b/
ghc/includes/StgTypes.h
@@
-1,10
+1,9
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: StgTypes.h,v 1.17 2001/07/26 03:08:39 ken Exp $
*
*
- * (c) The GHC Team, 1998-2000
+ * (c) The GHC Team, 1998-2004
*
* Various C datatypes used in the run-time system. This is the
*
* Various C datatypes used in the run-time system. This is the
- * lowest-level include file, after config.h and Derived.h.
+ * lowest-level include file, after ghcconfig.h and RtsConfig.h.
*
* This module should define types *only*, all beginning with "Stg".
*
*
* This module should define types *only*, all beginning with "Stg".
*
@@
-25,9
+24,9
@@
StgCode, StgArray, StgByteArray, StgStablePtr, StgFunPtr,
StgUnion.
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"
+ * NOTE: assumes #include "ghcconfig.h"
*
* Works with or without _POSIX_SOURCE.
*
*
* Works with or without _POSIX_SOURCE.
*
@@
-36,8
+35,6
@@
#ifndef STGTYPES_H
#define STGTYPES_H
#ifndef STGTYPES_H
#define STGTYPES_H
-#include "Derived.h"
-
/*
* First, platform-dependent definitions of size-specific integers.
* Assume for now that the int type is 32 bits.
/*
* First, platform-dependent definitions of size-specific integers.
* Assume for now that the int type is 32 bits.
@@
-61,8
+58,13
@@
typedef unsigned int StgWord32;
#ifdef SUPPORT_LONG_LONGS
/* assume long long is 64 bits */
#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;
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;
#elif SIZEOF_LONG == 8
typedef signed long StgInt64;
typedef unsigned long StgWord64;
@@
-81,10
+83,12
@@
typedef unsigned __int64 StgWord64;
#if SIZEOF_VOID_P == 8
typedef StgInt64 StgInt;
typedef StgWord64 StgWord;
#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;
#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
#else
#error GHC untested on this architecture: sizeof(void *) != 4 or 8
#endif
@@
-143,18
+147,4
@@
typedef void* StgStablePtr;
typedef void *(*(*StgFunPtr)(void))(void);
typedef StgFunPtr StgFun(void);
typedef void *(*(*StgFunPtr)(void))(void);
typedef StgFunPtr StgFun(void);
-typedef union {
- StgWord w;
- StgAddr a;
- StgChar c;
- StgInt8 i8;
- StgFloat f;
- StgInt i;
- StgPtr p;
- StgClosurePtr cl;
- StgStackOffset offset; /* unused? */
- StgByteArray b;
- StgTSOPtr t;
-} StgUnion;
-
#endif /* STGTYPES_H */
#endif /* STGTYPES_H */