[PATCH B2/2] Use builtin_unreachable in assert
Roland McGrath
roland@hack.frob.com
Wed Mar 4 19:25:00 GMT 2015
> > "No side effects" at the C level certainly does not
> > preclude a different correct translation of the program to machine code.
>
> sure ... i wasn't saying otherwise. my point is that __builtin_unreachable
> doesn't do that -- it explicitly is documented by gcc as:
> If control flow reaches the point of the __builtin_unreachable, the program is
> undefined.
>
> if there was a solution as Richard alluded to that allows for expansion of the
> expression all the time w/out breaking things when the assert is actually hit,
> i'm all for that.
I don't understand what your concern is. A call to __assert_fail leads to
a call to abort and that is no more or less well-defined or recoverable
than __builtin_unreachable.
More information about the Libc-alpha
mailing list