* mark.c [!OS2] (GC_mark_from): Cast mark_stack_top-mark_stack to word
first, and cast bitwise OR operation result to signed_word, so that not
to apply bitwise OR operation to the value of ptrdiff_t.
# ifdef OS2 /* Use untweaked version to circumvent compiler problem */
while ((word)mark_stack_top >= (word)mark_stack && credit >= 0)
# else
- while ((((ptr_t)mark_stack_top - (ptr_t)mark_stack) | credit) >= 0)
+ while ((signed_word)(((word)mark_stack_top - (word)mark_stack)
+ | (word)credit) >= 0)
# endif
{
current_p = mark_stack_top -> mse_start;