[Mesa-dev] [PATCH 2/3] i965: Use unreachable() instead of unconditional assert().

Matt Turner mattst88 at gmail.com
Mon Jun 30 11:03:10 PDT 2014


On Mon, Jun 30, 2014 at 10:37 AM, Ian Romanick <idr at freedesktop.org> wrote:
> In the cases where a return (with a value) is removed, I'm afraid static
> analysis tools will start to complain.  I'll be surprised if Klocwork
> understands (or trusts) GCC __builtin_unreachable decorations.

Good catch. I didn't think about this.

I did a little bit of searching and discovered this page:

http://www.klocwork.com/products/documentation/current/Compiler_attributes_analyzed_by_Klocwork

which fortunately says that Klocwork recognizes gcc's
__attribute__((noreturn)), so I feel relatively confident that
Klocwork recognizes __builtin_unreachable as well.

If it doesn't and we get warnings from Klocwork, we can easily make
the unreachable() macro expand to a static inline function marked with
__attribute__((noreturn)).


More information about the mesa-dev mailing list