+2011-05-08 Ivan Maidanski <ivmai@mail.ru>
+
+ * include/gc_inline.h (GC_MALLOC_WORDS, GC_CONS): Add missing
+ parentheses.
+ * include/gc_typed.h (GC_get_bit, GC_set_bit,
+ GC_CALLOC_EXPLICITLY_TYPED): Ditto.
+
2011-05-07 Ivan Maidanski <ivmai@mail.ru>
* include/private/gcconfig.h (NO_GETCONTEXT): Add missing ')'.
size_t grans = GC_WORDS_TO_WHOLE_GRANULES(n); \
GC_FAST_MALLOC_GRANS(result, grans, tiny_fl, 0, \
NORMAL, GC_malloc(grans*GC_GRANULE_BYTES), \
- *(void **)result = 0); \
+ *(void **)(result) = 0); \
}
# define GC_MALLOC_ATOMIC_WORDS(result,n,tiny_fl) \
size_t grans = GC_WORDS_TO_WHOLE_GRANULES(2); \
GC_FAST_MALLOC_GRANS(result, grans, tiny_fl, 0, \
NORMAL, GC_malloc(grans*GC_GRANULE_BYTES), \
- *(void **)result = (void *)(first)); \
+ *(void **)(result) = (void *)(first)); \
((void **)(result))[1] = (void *)(second); \
}
#define GC_WORDSZ (8 * sizeof(GC_word))
#define GC_get_bit(bm, index) \
- (((bm)[index / GC_WORDSZ] >> (index % GC_WORDSZ)) & 1)
+ (((bm)[(index) / GC_WORDSZ] >> ((index) % GC_WORDSZ)) & 1)
#define GC_set_bit(bm, index) \
- (bm)[index / GC_WORDSZ] |= ((GC_word)1 << (index % GC_WORDSZ))
+ ((bm)[(index) / GC_WORDSZ] |= (GC_word)1 << ((index) % GC_WORDSZ))
#define GC_WORD_OFFSET(t, f) (offsetof(t,f) / sizeof(GC_word))
#define GC_WORD_LEN(t) (sizeof(t) / sizeof(GC_word))
#define GC_BITMAP_SIZE(t) ((GC_WORD_LEN(t) + GC_WORDSZ - 1) / GC_WORDSZ)
#ifdef GC_DEBUG
# define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) GC_MALLOC(bytes)
-# define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) GC_MALLOC(n * bytes)
+# define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) GC_MALLOC((n) * (bytes))
#else
# define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) \
GC_malloc_explicitly_typed(bytes, d)