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.

Reply via email to