More fixes for Win64
authorIan Lynagh <igloo@earth.li>
Thu, 15 Mar 2012 16:38:39 +0000 (16:38 +0000)
committerIan Lynagh <igloo@earth.li>
Thu, 15 Mar 2012 17:05:16 +0000 (17:05 +0000)
includes/MachDeps.h
rts/ghc.mk

index f97d3e8..81e223d 100644 (file)
 #define SIZEOF_WORD32           SIZEOF_UNSIGNED_INT
 #define ALIGNMENT_WORD32        ALIGNMENT_UNSIGNED_INT
 
-#if HAVE_LONG_LONG && SIZEOF_VOID_P < 8
-/* assume long long is 64 bits */
-#define SIZEOF_INT64            SIZEOF_LONG_LONG
-#define ALIGNMENT_INT64         ALIGNMENT_LONG_LONG
-#define SIZEOF_WORD64           SIZEOF_UNSIGNED_LONG_LONG
-#define ALIGNMENT_WORD64        ALIGNMENT_UNSIGNED_LONG_LONG
-#elif SIZEOF_LONG == 8
+#if SIZEOF_LONG == 8
 #define SIZEOF_INT64            SIZEOF_LONG
 #define ALIGNMENT_INT64         ALIGNMENT_LONG
 #define SIZEOF_WORD64           SIZEOF_UNSIGNED_LONG
 #define ALIGNMENT_WORD64        ALIGNMENT_UNSIGNED_LONG
+#elif HAVE_LONG_LONG && SIZEOF_LONG_LONG == 8
+#define SIZEOF_INT64            SIZEOF_LONG_LONG
+#define ALIGNMENT_INT64         ALIGNMENT_LONG_LONG
+#define SIZEOF_WORD64           SIZEOF_UNSIGNED_LONG_LONG
+#define ALIGNMENT_WORD64        ALIGNMENT_UNSIGNED_LONG_LONG
 #else
-#error GHC untested on this architecture: sizeof(void *) < 8 and no long longs.
+#error Cannot find a 64bit type.
 #endif
 
 #ifndef WORD_SIZE_IN_BITS
index 99b917c..9eb933e 100644 (file)
@@ -28,7 +28,7 @@ all_rts : $(ALL_RTS_LIBS)
 
 ALL_DIRS = hooks parallel sm eventlog
 
-ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
+ifeq "$(HostOS_CPP)" "mingw32"
 ALL_DIRS += win32
 else
 ALL_DIRS += posix