/* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.4 1999/01/14 11:57:48 sewardj Exp $
+ * $Id: PrimOps.h,v 1.8 1999/01/21 10:31:42 simonm Exp $
*
* Macros for primitive operations in STG-ish C code.
*
arg2._mp_size = (s2); \
arg2._mp_d = (unsigned long int *) (BYTE_ARR_CTS(d2)); \
\
- (r) = RET_PRIM_STGCALL2(I_,mpz_cmp,&arg1,&arg2); \
+ (r) = RET_PRIM_STGCALL2(I_,mpz_cmp,&arg1,&arg2); \
}
/* A glorious hack: calling mpz_neg would entail allocation and
-------------------------------------------------------------------------- */
#define sameMVarZh(r,a,b) r=(I_)((a)==(b))
+
+/* Assume external decl of EMPTY_MVAR_info is in scope by now */
+#define isEmptyMVarZh(r,a) r=(I_)((GET_INFO((StgMVar*)(a))) == &EMPTY_MVAR_info )
EF_(newMVarZh_fast);
EF_(takeMVarZh_fast);
EF_(putMVarZh_fast);