#ifdef __SUNPRO_C static void mark(C_word *x) { \ C_word *_x = (x), _val = *_x; \ if(!C_immediatep(_val)) really_mark(_x); \ } #else # define mark(x) \ C_cblock \ C_word *_x = (x), _val = *_x; \ if(!C_immediatep(_val)) { \ if (C_in_stackp(_val) || C_in_heapp(_val)) \ really_mark(_x); \ } \ C_cblockend #endif