Hi Paul, > # define assume(R) ((R) ? (void) 0 : __builtin_trap ())
Would it be possible to use abort () instead of __builtin_trap ()? __builtin_trap has the drawback that is provides this message: Illegal instruction (core dumped) (at least on x86_64) which points to user/developer to a bug in the hardware or in the compiler. Hardly anyone would guess that 'Illegal instruction' comes from faulty application logic (except for applications that embed a just-in-time compiler). Bruno