Paul Eggert writes: > Alex Gramiak wrote: >> Though I don't think that these macros, used sparingly around code such >> as emacs_abort, would make it harder to read/write/maintain. > > These macro calls would not help near calls to emacs_abort, as it should already > be obvious to a careful human reader that the jump to emacs_abort is the road > less traveled. (That's also obvious to GCC, since emacs_abort is _Noreturn.) To human readers, yes, but from what I can tell, GCC is mixed on this. When applying the following diff that surrounds emacs_abort in bytecode.c and xdisp.c, the assembly in both applied/unapplied is the same for bytecode.c, but not for xdisp.c (even without the LIKELY cases). I tested using gcc -O2 -S. Also, I tried putting a LIKELY in lisp_h_CHECK_TYPE (seems like a nice place for one) and that yielded different assembly for fns.c, even though wrong_type_argument is _Noreturn.