Made "nat" 64-bit ("unsigned long") rather than 32-bit ("unsigned int")
on 64-bit machines. This fixes some problems caused by code elsewhere
assuming that sizeof(nat) == sizeof(void *).
#ifndef RTS_TYPES_H
#define RTS_TYPES_H
+#if SIZEOF_VOID_P == 8
+typedef unsigned long nat; /* at least 32 bits (like int) */
+#else
typedef unsigned int nat; /* at least 32 bits (like int) */
+#endif
typedef unsigned long lnat; /* at least 32 bits */
typedef unsigned long long ullong; /* at least 32 bits */