[project @ 1999-01-14 11:57:48 by sewardj]
authorsewardj <unknown>
Thu, 14 Jan 1999 11:57:48 +0000 (11:57 +0000)
committersewardj <unknown>
Thu, 14 Jan 1999 11:57:48 +0000 (11:57 +0000)
When -DDEBUG, in BYTE_ARR_CTS, allow GET_INFO(a) to be
&MUT_ARR_WORDS_info as well as &ARR_WORDS_info.

ghc/includes/PrimOps.h

index f16af65..5a241b1 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.3 1999/01/13 17:25:53 simonm Exp $
+ * $Id: PrimOps.h,v 1.4 1999/01/14 11:57:48 sewardj Exp $
  *
  * Macros for primitive operations in STG-ish C code.
  *
@@ -412,11 +412,13 @@ LI_ stg_word64ToInt64 (StgNat64);
 #define REAL_PTRS_ARR_CTS(a)   ((P_)   (((StgMutArrPtrs  *)(a))->payload))
 
 #ifdef DEBUG
-#define BYTE_ARR_CTS(a)                                \
- ({ ASSERT(GET_INFO(a) == &ARR_WORDS_info);    \
+#define BYTE_ARR_CTS(a)                                  \
+ ({ ASSERT((GET_INFO(a) == &ARR_WORDS_info)      \
+        || (GET_INFO(a) == &MUT_ARR_WORDS_info)); \
     REAL_BYTE_ARR_CTS(a); })
-#define PTRS_ARR_CTS(a)                                \
- ({ ASSERT((GET_INFO(a) == &MUT_ARR_PTRS_info));\
+#define PTRS_ARR_CTS(a)                                  \
+ ({ ASSERT((GET_INFO(a) == &ARR_PTRS_info)       \
+       || (GET_INFO(a) == &MUT_ARR_PTRS_info));  \
     REAL_PTRS_ARR_CTS(a); })
 #else
 #define BYTE_ARR_CTS(a)                REAL_BYTE_ARR_CTS(a)