On 13 May 2015, at 17:05, Pedro Giffuni <p...@freebsd.org> wrote: > > Hello; > > I am looking at the cdefs in other BSDs hoping to avoid adopting the > same definitions with incompatible names and I noticed NetBSD is using > a new __builtin_unreachable (void) function from gcc 4.6: > > https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html > > Apparently it was interesting enough that clang implemented it too so > I created a code review differential for it. > > https://reviews.freebsd.org/D2536 > > I don't want to add new C definitions unless they are going to be used > so feel free to comment on the convenience or not of having it.
LLVM uses this quite heavily, in a macro that expands to something equivalent to assert(0 && "unreachable reached!”) in debug mode and __builtin_unreachable() in release mode. When you’re debugging, you get errors if you reach unreachable code and in deployment the compiler gets a useful hint for optimisation. David _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"