Re: [PATCH 01/21] powerpc: Remove warning on array size when empty
From: Mathieu Malaterre <hidden>
Date: 2018-02-27 17:25:56
Also in:
lkml
On Tue, Feb 27, 2018 at 4:52 PM, Andy Shevchenko [off-list ref] wrote:
On Tue, Feb 27, 2018 at 9:44 AM, Mathieu Malaterre [off-list ref] wro=
te:
quoted
On Tue, Feb 27, 2018 at 8:33 AM, Christophe LEROY [off-list ref] wrote:quoted
quoted
quoted
quoted
quoted
Much simpler is just add if (ARRAY_SIZE() =3D=3D 0) return;quoted
quoted
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 =E2=80=98check_cpu_feature_properti=
es=E2=80=99:
arch/powerpc/kernel/prom.c:301:16: error: comparison of unsigned
expression < 0 is always false [-Werror=3Dtype-limits]
for (i =3D 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