[project @ 2001-07-24 05:08:51 by ken]
authorken <unknown>
Tue, 24 Jul 2001 05:08:51 +0000 (05:08 +0000)
committerken <unknown>
Tue, 24 Jul 2001 05:08:51 +0000 (05:08 +0000)
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 *).

ghc/includes/RtsTypes.h

index eab293d..90741af 100644 (file)
 #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            */