On Wed, Feb 05, 2025 at 05:35:26PM +0100, David Marchand wrote: > Hello André, > > On Tue, Feb 4, 2025 at 9:57 PM Andre Muezerie > <andre...@linux.microsoft.com> wrote: > > @@ -168,10 +169,20 @@ test_flip_size(test_fun test_fun, assign_fun > > assign_fun, flip_fun flip_fun, size > > rand_bitset(bitset, size); > > > > for (i = 0; i < size; i++) { > > - RTE_BITSET_DECLARE(reference, size); > > + RTE_BITSET_DECLARE(reference, RAND_SET_MAX_SIZE); > > + > > +#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 110000) > > +#pragma GCC diagnostic push > > +#pragma GCC diagnostic ignored "-Warray-bounds" > > +#endif > > > > + /* gcc is giving false positives here when code is > > optimized */ > > Why not simply alloca(te the right size)? > > I tested with my gcc 14 (for which I could reproduce the array bound warning). > By replacing with uint64_t *reference = alloca(RTE_BITSET_SIZE(size)), > gcc seems to be less smart and won't inspect 'reference' and 'bitset' > arrays boundaries. > > > > rte_bitset_copy(reference, bitset, size); > > > > +#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 110000) > > +#pragma GCC diagnostic pop > > +#endif > > + > > bool value = test_fun(bitset, i); > > > > flip_fun(bitset, i); > > The rest of the series lgtm and the plan is to merge it for rc1. > > Just beware that, if you send a new revision, new drivers (net/xsc and > net/zxdh) landed in main. > Both use VLA, so both require cflags += no_wvla_cflag in their meson.build. > > > -- > David Marchand
Thanks for the suggestion, and for warning me about the new drivers that got added. I sent a new series with these changes.