macros-private: Check for __GNUC__ being set
macros-private: Force the bool result in likely/unlikely

The semantics for __builtin_expect() are that the expression matches the
constant, so we need to ensure that.