diff options
Diffstat (limited to 'rts/include/Cmm.h')
-rw-r--r-- | rts/include/Cmm.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/rts/include/Cmm.h b/rts/include/Cmm.h index a1cf44c31b..7936bc8b85 100644 --- a/rts/include/Cmm.h +++ b/rts/include/Cmm.h @@ -607,16 +607,20 @@ #define BITMAP_SIZE(bitmap) ((bitmap) & BITMAP_SIZE_MASK) #define BITMAP_BITS(bitmap) ((bitmap) >> BITMAP_BITS_SHIFT) +#define LOOKS_LIKE_PTR(p) ((p) != NULL && (p) != INVALID_GHC_POINTER) + /* Debugging macros */ #define LOOKS_LIKE_INFO_PTR(p) \ - ((p) != NULL && \ + (LOOKS_LIKE_PTR(p) && \ LOOKS_LIKE_INFO_PTR_NOT_NULL(p)) #define LOOKS_LIKE_INFO_PTR_NOT_NULL(p) \ ( (TO_W_(%INFO_TYPE(%STD_INFO(p))) != INVALID_OBJECT) && \ (TO_W_(%INFO_TYPE(%STD_INFO(p))) < N_CLOSURE_TYPES)) -#define LOOKS_LIKE_CLOSURE_PTR(p) (LOOKS_LIKE_INFO_PTR(GET_INFO(UNTAG(p)))) +#define LOOKS_LIKE_CLOSURE_PTR(p) \ + ( LOOKS_LIKE_PTR(p) && \ + LOOKS_LIKE_INFO_PTR(GET_INFO(UNTAG(p)))) /* * The layout of the StgFunInfoExtra part of an info table changes |