On 23 December 2013 14:52, Michael S. Tsirkin <m...@redhat.com> wrote: > commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3 > "target-arm: A64: add set_pc cpu method" > > introduces an array aarch64_cpus which is zero > size if this code is built without CONFIG_USER_ONLY. > In particular an attempt to iterate over this array produces a warning > under gcc 4.8.2: > > CC aarch64-softmmu/target-arm/cpu64.o > /scm/qemu/target-arm/cpu64.c: In function ‘aarch64_cpu_register_types’: > /scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned > expression < 0 is always false [-Werror=type-limits] > for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) { > ^ > cc1: all warnings being treated as errors > > This is the result of ARRAY_SIZE being an unsigned type, > causing "i" to be promoted to unsigned int as well. > > As zero size arrays are a gcc extension, it seems > cleanest to add a dummy element with NULL name, > and test for it during registration. > > We'll be able to drop this when we add more CPUs. > > Cc: Alexander Graf <ag...@suse.de> > Cc: Peter Maydell <peter.mayd...@linaro.org> > Cc: Richard Henderson <r...@twiddle.net> > Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM