diff --git a/rts/include/rts/storage/Block.h b/rts/include/rts/storage/Block.h index 87ff40aacfdd00199bd938d8a72562d75f535424..2a6fab1dbb01abb3139b744b60e98d52956859e8 100644 --- a/rts/include/rts/storage/Block.h +++ b/rts/include/rts/storage/Block.h @@ -10,6 +10,10 @@ #include "ghcconfig.h" +#if !defined(CMINUSMINUS) +#include "rts/storage/HeapAlloc.h" +#endif + /* The actual block and megablock-size constants are defined in * rts/include/Constants.h, all constants here are derived from these. */ @@ -189,6 +193,7 @@ typedef struct bdescr_ { EXTERN_INLINE bdescr *Bdescr(StgPtr p); EXTERN_INLINE bdescr *Bdescr(StgPtr p) { + ASSERT(HEAP_ALLOCED_GC(p)); return (bdescr *) ((((W_)p & MBLOCK_MASK & ~BLOCK_MASK) >> (BLOCK_SHIFT-BDESCR_SHIFT)) | ((W_)p & ~MBLOCK_MASK)