RTS tidyup sweep, first phase
[ghc-hetmet.git] / includes / StgTypes.h
diff --git a/includes/StgTypes.h b/includes/StgTypes.h
deleted file mode 100644 (file)
index 7f2c08e..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-/* -----------------------------------------------------------------------------
- *
- * (c) The GHC Team, 1998-2004
- *
- * Various C datatypes used in the run-time system.  This is the
- * lowest-level include file, after ghcconfig.h and RtsConfig.h.
- *
- * This module should define types *only*, all beginning with "Stg".
- *
- * Specifically:
-
-       StgInt8,  16, 32, 64
-       StgWord8, 16, 32, 64
-       StgChar, StgFloat, StgDouble
-
-       ***** All the same size (i.e. sizeof(void *)): *****
-       StgPtr                  Basic pointer type
-       StgWord                 Unit of heap allocation
-       StgInt                  Signed version of StgWord
-       StgAddr                 Generic address type
-       
-       StgBool, StgVoid, StgClosurePtr, StgPtr, StgOffset, 
-       StgTSOPtr, StgForeignPtr, StgStackOffset, StgStackPtr,
-       StgCode, StgArray, StgByteArray, StgStablePtr, StgFunPtr,
-       StgUnion.
-
- * WARNING: Keep this file, MachDeps.h, and HsFFI.h in synch!
- *
- * NOTE: assumes #include "ghcconfig.h"
- * 
- * Works with or without _POSIX_SOURCE.
- *
- * ---------------------------------------------------------------------------*/
-
-#ifndef STGTYPES_H
-#define STGTYPES_H
-
-/*
- * First, platform-dependent definitions of size-specific integers.
- * Assume for now that the int type is 32 bits.
- * NOTE: Synch the following definitions with MachDeps.h!
- * ToDo: move these into a platform-dependent file.
- */
-
-typedef signed   char            StgInt8;
-typedef unsigned char            StgWord8;
-
-typedef signed   short           StgInt16;
-typedef unsigned short           StgWord16;
-
-#if SIZEOF_LONG == 4
-typedef signed   long            StgInt32;
-typedef unsigned long            StgWord32;
-#elif SIZEOF_INT == 4
-typedef signed   int             StgInt32;
-typedef unsigned int             StgWord32;
-#else
-#error GHC untested on this architecture: sizeof(int) != 4
-#endif
-
-#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;
-#elif defined(__MSVC__)
-typedef __int64                StgInt64;
-typedef unsigned __int64       StgWord64;
-#else
-#error GHC untested on this architecture: sizeof(void *) < 8 and no long longs.
-#endif
-
-/*
- * Define the standard word size we'll use on this machine: make it
- * big enough to hold a pointer.
- *
- * It's useful if StgInt/StgWord are always the same as long, so that
- * we can use a consistent printf format specifier without warnings on
- * any platform.  Fortunately this works at the moement; if it breaks
- * in the future we'll have to start using macros for format
- * specifiers (c.f. FMT_StgWord64 in Rts.h).
- */
-
-#if SIZEOF_VOID_P == 8
-typedef StgInt64           StgInt;
-typedef StgWord64          StgWord;
-typedef StgInt32           StgHalfInt;
-typedef StgWord32          StgHalfWord;
-#else
-#if SIZEOF_VOID_P == 4
-typedef StgInt32           StgInt; 
-typedef StgWord32          StgWord;
-typedef StgInt16           StgHalfInt;
-typedef StgWord16          StgHalfWord;
-#else
-#error GHC untested on this architecture: sizeof(void *) != 4 or 8
-#endif
-#endif
-
-#define W_MASK  (sizeof(W_)-1)
-
-typedef void*              StgAddr;
-
-/*
- * Other commonly-used STG datatypes.
- */
-
-typedef StgWord32          StgChar;
-typedef int                StgBool;
-
-typedef float             StgFloat;
-typedef double            StgDouble;
-                           
-typedef void               StgVoid;
-                           
-typedef struct StgClosure_ StgClosure;
-typedef StgClosure*        StgClosurePtr;
-typedef StgWord*           StgPtr;           /* pointer into closure       */
-typedef StgWord volatile*  StgVolatilePtr;   /* pointer to volatile word   */
-typedef StgWord            StgOffset;        /* byte offset within closure */
-                           
-typedef struct StgTSO_*    StgTSOPtr;
-
-typedef void*              StgForeignPtr;
-
-typedef StgInt             StgStackOffset;   /* offset in words! */
-
-typedef StgWord*           StgStackPtr;
-
-typedef StgWord8          StgCode;         /* close enough */
-
-typedef StgPtr*            StgArray;        /* the goods of an Array# */
-typedef char*             StgByteArray;    /* the goods of a ByteArray# */
-
-typedef void*             StgStablePtr;
-
-/*
-  Types for the generated C functions
-  take no arguments
-  return a pointer to the next function to be called
-  use: Ptr to Fun that returns a Ptr to Fun which returns Ptr to void
-
-  Note: Neither StgFunPtr not StgFun is quite right (that is, 
-  StgFunPtr != StgFun*).  So, the functions we define all have type
-  StgFun but we always have to cast them to StgFunPtr when we assign
-  them to something.
-  The only way round this would be to write a recursive type but
-  C only allows that if you're defining a struct or union.
-*/
-
-typedef void  *(*(*StgFunPtr)(void))(void);
-typedef StgFunPtr StgFun(void);
-
-#endif /* STGTYPES_H */