On Sat, Jul 10, 2010 at 2:07 AM, Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote: > __builtin_unreachable has special semantics beyond just a function. > This definition will suffice to allow compilation, but > __builtin_unreachable should have the same effect in sparse that it does > in GCC: mark the point (and the remainder of the basic block) as > unreachable. Something like the mechanism used for handling noreturn > would work here as well; declaring the function to have attribute > noreturn would probably have almost the right semantics. > The attribute noreturn will apply to the whole function. The function NEVER returns. __builtin_unreachable only apply to current basic block. e.g. some error handling path like panic. The function can still return a value on the normal path. It has different meaning than attribute noreturn. So I don't think automatically give the function noreturn attribute is the right thing to do. I will apply the patch until we got better way to handle this. Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html