[project @ 1999-02-05 15:25:01 by simonm]
[ghc-hetmet.git] / ghc / includes / PrimOps.h
index 2a7ce94..fe32074 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.13 1999/02/01 18:05:30 simonm Exp $
+ * $Id: PrimOps.h,v 1.15 1999/02/05 15:25:03 simonm Exp $
  *
  * Macros for primitive operations in STG-ish C code.
  *
@@ -415,8 +415,7 @@ LI_ stg_word64ToInt64 (StgNat64);
 
 #ifdef DEBUG
 #define BYTE_ARR_CTS(a)                                  \
- ({ ASSERT((GET_INFO(a) == &ARR_WORDS_info)      \
-        || (GET_INFO(a) == &MUT_ARR_WORDS_info)); \
+ ({ ASSERT(GET_INFO(a) == &ARR_WORDS_info);      \
     REAL_BYTE_ARR_CTS(a); })
 #define PTRS_ARR_CTS(a)                                  \
  ({ ASSERT((GET_INFO(a) == &ARR_PTRS_info)       \
@@ -687,13 +686,13 @@ EF_(seqzh_fast);
 EF_(mkWeakzh_fast);
 EF_(finaliseWeakzh_fast);
 
-#define deRefWeakzh(code,val,w)                        \
+#define deRefWeakzh(code,val,w)                                \
   if (((StgWeak *)w)->header.info == &WEAK_info) {     \
        code = 1;                                       \
-       val = ((StgWeak *)w)->value;                    \
+       val = (P_)((StgWeak *)w)->value;                \
   } else {                                             \
        code = 0;                                       \
-       val = (StgClosure *)w;                          \
+       val = (P_)w;                                    \
   }
 
 #define sameWeakzh(w1,w2)  ((w1)==(w2))