On Tue, Feb 27, 2018 at 4:52 PM, Andy Shevchenko <andy.shevche...@gmail.com> 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?
The goal of this series is simply to remove warning treated as error. I tried from home and I can still see the error using gcc 6.3.0, so the original for() loop needs to be rewritten. CC arch/powerpc/kernel/prom.o arch/powerpc/kernel/prom.c: In function ‘check_cpu_feature_properties’: arch/powerpc/kernel/prom.c:301:16: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits] for (i = 0; i < ARRAY_SIZE(feature_properties); ++i, ++fp) { ^ cc1: all warnings being treated as errors > 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. > > -- > With Best Regards, > Andy Shevchenko