Re: [PATCH 1/1] bug: Add unreachable() to generic BUG() to silence warnings

From: Josh Triplett
Date: Thu Aug 07 2014 - 01:07:33 EST


On Thu, Aug 07, 2014 at 03:13:41AM +0200, Nick Krause wrote:
> Architectures which use generic BUG() have warnings like
>
> kernel/sched/core.c:2692:1: warning: control reaches end of non-void function [-Wreturn-type]
> net/core/ethtool.c:236:1: warning: control reaches end of non-void function [-Wreturn-type]
>
> Other BUG() implementations
> have added unreachable() at end but generic does not. I guess
> that is why
> it showing these errors. We can silence them using unreachable().
>
> Signed-off-by: Nick Krause <xerofoify@xxxxxxxxx>

You shouldn't see those warnings. panic() has __noreturn set, which
should have exactly the same effect.

> include/asm-generic/bug.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
> index 630dd23..effcc82 100644
> --- a/include/asm-generic/bug.h
> +++ b/include/asm-generic/bug.h
> @@ -48,6 +48,7 @@ struct bug_entry {
> #define BUG() do { \
> printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
> panic("BUG!"); \
> + unreachable(); \
> } while (0)
> #endif
>
> --
> 2.0.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/