[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
Duncan Sands
baldrick at free.fr
Sat Mar 12 02:17:27 PST 2011
Hi John,
> This patch implements the current consensus of PR8973:
> http://llvm.org/bugs/show_bug.cgi?id=8973.
>
> The macro llvm_unreachable is used in LLVM to indicate that
> a particular place in a function is not supposed to be reachable
> during execution. Like an assert macro, it takes a string
> argument. In +Asserts builds, this string argument, together with
> some location information, is passed to a function which prints
> the information and calls abort(). In -Asserts builds, this string
> argument is dropped (to minimize code size impact), and
> instead a bunch of zero arguments are passed to the same
> function.
I have to ask: what is the point of llvm_unreachable? Why not just
use assert?
Ciao, Duncan.
More information about the llvm-dev
mailing list