Igor Bukanov <igor@xxxxxxxx> writes: > is it possible to tell GCC that a pointer cannot be NULL at a > particular point so the compiler can optimize the control flaw better > and avoid redundant NULL checks on the fast paths? As of gcc 4.5 you can do this using __builtin_unreachable. In your example: if (n != a->end) { a->start += 16; /* size of the thing to allocate. */ if (n == 0) __builtin_unreachable(); return n; /* n cannot be NULL here */ } Use this with care. If you get it wrong, the results will be wholly unpredictable. Ian