diff -ru src/def.h c/def.h --- src/def.h 2007-12-06 17:30:56.000000000 +0100 +++ c/def.h 2013-10-19 18:42:55.118745730 +0200 @@ -2,14 +2,9 @@ /* INT should always be 4 byte */ #ifndef DEF_H - -#ifdef __alpha -typedef int INT; -typedef unsigned int UINT; -#else /* __alpha */ -typedef long INT; -typedef unsigned long UINT; -#endif /* __alpha */ +#include <stdint.h> +typedef int32_t INT; +typedef uint32_t UINT; #include <stdio.h> #include <memory.h> @@ -65,10 +60,13 @@ /* definitionen fuer object.c */ -typedef INT OBJECTKIND; /* 4 byte */ +/* NOTE: partition code assumes that there is no unused space in the + * object struct when an INT is stored. This requires both OBJECTKIND + * and OBJECTSELF to have a size equal to a machine word. */ +typedef intptr_t OBJECTKIND; typedef union { - INT ob_INT; + intptr_t ob_INT; INT * ob_INTpointer; char *ob_charpointer; struct bruch *ob_bruch;