Re: [PATCH net-next] compiler: Document behavior compiling with -O0

From: Arnd Bergmann
Date: Thu Aug 24 2017 - 17:20:26 EST


On Thu, Aug 24, 2017 at 6:45 PM, Joe Stringer <joe@xxxxxxx> wrote:
> Recent changes[0] to make use of __compiletime_assert() from container_of()
> increased the scope of this macro, resulting in a wider set of
> situations where developers cannot compile their code using "-O0". I
> noticed this when making use of the macro in my own development, and
> spent more time than I'd like to admit tracking the problem down. This
> patch documents the behavior in lieu of a compile-time assertion
> implementation that does not rely on optimizations.
>
> Example compilation failure:

Maybe the macro should be enclosed in "#ifdef __OPTIMIZE__"?

Generally speaking we at least rely on function inlining to create a
working kernel, but sometimes there may be a reason to compile a
single file without optimizations.

Arnd