summaryrefslogtreecommitdiff
path: root/includes/Stg.h
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2012-03-23 23:06:52 +0000
committerIan Lynagh <igloo@earth.li>2012-03-23 23:06:52 +0000
commit1212145be348b35ea91f17f62466de7841e0e705 (patch)
tree8d844aae16f83fb2feec5365647bc196daef22b0 /includes/Stg.h
parent5784df0ff9e286a592a0baa29ab97eaf38b4e8d2 (diff)
downloadhaskell-1212145be348b35ea91f17f62466de7841e0e705.tar.gz
Fix ASSIGN_DBL on Win64
We were comparing ALIGNMENT_DOUBLE to ALIGNMENT_LONG, but really we cared about W_ values, and sizeof(long) /= sizeof(void *) on Win64
Diffstat (limited to 'includes/Stg.h')
-rw-r--r--includes/Stg.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/includes/Stg.h b/includes/Stg.h
index 4faed91c42..76067de451 100644
--- a/includes/Stg.h
+++ b/includes/Stg.h
@@ -257,7 +257,7 @@ typedef StgFunPtr F_;
INLINE_HEADER void ASSIGN_FLT (W_ [], StgFloat);
INLINE_HEADER StgFloat PK_FLT (W_ []);
-#if ALIGNMENT_FLOAT <= ALIGNMENT_LONG
+#if ALIGNMENT_FLOAT <= ALIGNMENT_VOID_P
INLINE_HEADER void ASSIGN_FLT(W_ p_dest[], StgFloat src) { *(StgFloat *)p_dest = src; }
INLINE_HEADER StgFloat PK_FLT (W_ p_src[]) { return *(StgFloat *)p_src; }
@@ -278,9 +278,9 @@ INLINE_HEADER StgFloat PK_FLT(W_ p_src[])
return(y.f);
}
-#endif /* ALIGNMENT_FLOAT > ALIGNMENT_LONG */
+#endif /* ALIGNMENT_FLOAT > ALIGNMENT_VOID_P */
-#if ALIGNMENT_DOUBLE <= ALIGNMENT_LONG
+#if ALIGNMENT_DOUBLE <= ALIGNMENT_VOID_P
INLINE_HEADER void ASSIGN_DBL (W_ [], StgDouble);
INLINE_HEADER StgDouble PK_DBL (W_ []);
@@ -288,7 +288,7 @@ INLINE_HEADER StgDouble PK_DBL (W_ []);
INLINE_HEADER void ASSIGN_DBL(W_ p_dest[], StgDouble src) { *(StgDouble *)p_dest = src; }
INLINE_HEADER StgDouble PK_DBL (W_ p_src[]) { return *(StgDouble *)p_src; }
-#else /* ALIGNMENT_DOUBLE > ALIGNMENT_LONG */
+#else /* ALIGNMENT_DOUBLE > ALIGNMENT_VOID_P */
/* Sparc uses two floating point registers to hold a double. We can
* write ASSIGN_DBL and PK_DBL by directly accessing the registers