drivers: allow build with VLAs
Checks
Commit Message
The drivers nfb, mvpp2 and mvsam use some variable length arrays
in their code, so the warnings about VLA must be disabled for now,
until removal for MSVC support, as in some other drivers.
The warnings look like below:
nfb_rx.h:156:16: error:
ISO C90 forbids variable length array 'packets' [-Werror=vla]
156 | struct ndp_packet packets[nb_pkts];
mvpp2/mrvl_flow.c:108:9: error:
ISO C90 forbids variable length array 'zeros' [-Werror=vla]
108 | uint8_t zeros[size];
mvsam/rte_mrvl_pmd.c:865:16: error:
ISO C90 forbids variable length array 'requests_crp' [-Werror=vla]
865 | struct sam_cio_op_params requests_crp[nb_ops];
Fixes: 1bf86800f7da ("build: warn on uses of VLA")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/crypto/mvsam/meson.build | 2 ++
drivers/net/mvpp2/meson.build | 2 ++
drivers/net/nfb/meson.build | 2 ++
3 files changed, 6 insertions(+)
Comments
On Sat, Feb 8, 2025 at 10:29 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The drivers nfb, mvpp2 and mvsam use some variable length arrays
> in their code, so the warnings about VLA must be disabled for now,
> until removal for MSVC support, as in some other drivers.
>
> The warnings look like below:
>
> nfb_rx.h:156:16: error:
> ISO C90 forbids variable length array 'packets' [-Werror=vla]
> 156 | struct ndp_packet packets[nb_pkts];
>
> mvpp2/mrvl_flow.c:108:9: error:
> ISO C90 forbids variable length array 'zeros' [-Werror=vla]
> 108 | uint8_t zeros[size];
>
> mvsam/rte_mrvl_pmd.c:865:16: error:
> ISO C90 forbids variable length array 'requests_crp' [-Werror=vla]
> 865 | struct sam_cio_op_params requests_crp[nb_ops];
>
> Fixes: 1bf86800f7da ("build: warn on uses of VLA")
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
@@ -20,4 +20,6 @@ ext_deps += dep
sources = files('rte_mrvl_pmd.c', 'rte_mrvl_pmd_ops.c')
+cflags += no_wvla_cflag
+
deps += ['bus_vdev', 'common_mvep', 'security']
@@ -26,4 +26,6 @@ sources = files(
'mrvl_tm.c',
)
+cflags += no_wvla_cflag
+
deps += ['cfgfile', 'common_mvep']
@@ -21,3 +21,5 @@ sources = files(
'nfb_stats.c',
'nfb_tx.c',
)
+
+cflags += no_wvla_cflag