On Tue, Feb 27, 2018 at 05:52:06PM +0200, Andy Shevchenko wrote: > On Tue, Feb 27, 2018 at 9:44 AM, Mathieu Malaterre <ma...@debian.org> wrote: > > On Tue, Feb 27, 2018 at 8:33 AM, Christophe LEROY > > <christophe.le...@c-s.fr> wrote: > > >>>>> Much simpler is just add > >>>>> > >>>>> if (ARRAY_SIZE() == 0) > >>>>> return; > > >> Or add in front: > >> if (!ARRAY_SIZE(feature_properties)) > >> return; > > > > (not tested) I believe the compiler still go over the for() loop and > > will complain about the original unsigned comparison. > > Did you run tests? Did you look into object file? > > In kernel we much rely on the compiling away the code which is > deterministically not in use. > Here I'm pretty sure it will compile away entire function.
It does, but it also still warns (this warning is done very early in the compiler pipeline). Segher