As per guidance technical board meeting 2024/04/17. This series removes the use of VLAs from code built for Windows for all 3 toolchains. If there are additional opportunities to convert VLAs to regular C arrays please provide the details for incorporation into the series.
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. v2: * replace patches for ethdev, hash, rcu and include new patches for eal from Konstantin Ananyev from https://patchwork.dpdk.org/project/dpdk/list/?series=31781 Konstantin Ananyev (6): eal/linux: remove use of VLAs eal/common: remove use of VLAs ethdev: remove use of VLAs for Windows built code hash: remove use of VLAs for Windows built code hash/thash: remove use of VLAs for Windows built code rcu: remove use of VLAs for Windows built code Tyler Retzlaff (13): eal: include header required for alloca gro: remove use of VLAs for Windows built code latencystats: remove use of VLAs for Windows built code lpm: remove use of VLAs for Windows built code app/testpmd: remove use of VLAs for Windows built code test: remove use of VLAs for Windows built code common/idpf: remove use of VLAs for Windows built code net/i40e: remove use of VLAs for Windows built code net/ice: remove use of VLAs for Windows built code net/ixgbe: remove use of VLAs for Windows built code common/mlx5: remove use of VLAs for Windows built code net/mlx5: remove use of VLAs for Windows built code build: enable vla warnings on Windows built code app/test-pmd/cmdline.c | 2 +- app/test-pmd/cmdline_flow.c | 9 +- app/test-pmd/config.c | 16 ++- app/test-pmd/shared_rxq_fwd.c | 2 +- app/test/test.c | 2 +- app/test/test_cmdline_string.c | 2 +- app/test/test_cryptodev.c | 32 ++--- app/test/test_cryptodev_blockcipher.c | 4 +- app/test/test_cryptodev_crosscheck.c | 2 +- app/test/test_dmadev.c | 9 +- app/test/test_hash.c | 8 +- app/test/test_mempool.c | 25 ++-- app/test/test_reassembly_perf.c | 4 +- app/test/test_reorder.c | 48 +++---- app/test/test_service_cores.c | 9 +- app/test/test_thash.c | 7 +- config/meson.build | 4 + drivers/common/idpf/idpf_common_rxtx.c | 2 +- drivers/common/idpf/idpf_common_rxtx_avx512.c | 6 +- drivers/common/mlx5/mlx5_common.h | 4 +- drivers/common/mlx5/mlx5_devx_cmds.c | 7 +- drivers/net/i40e/i40e_testpmd.c | 5 +- drivers/net/ice/ice_rxtx.c | 2 +- drivers/net/ixgbe/ixgbe_ethdev.c | 5 +- drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 2 +- drivers/net/mlx5/mlx5.c | 5 +- drivers/net/mlx5/mlx5_flow.c | 6 +- lib/eal/common/eal_common_proc.c | 5 +- lib/eal/linux/eal_interrupts.c | 59 ++++++++- lib/eal/linux/include/rte_os.h | 1 + lib/eal/windows/include/rte_os.h | 1 + lib/ethdev/rte_ethdev.c | 183 ++++++++++++++++---------- lib/gro/rte_gro.c | 4 +- lib/hash/rte_cuckoo_hash.c | 4 +- lib/hash/rte_thash.c | 2 +- lib/hash/rte_thash.h | 8 ++ lib/latencystats/rte_latencystats.c | 2 +- lib/lpm/rte_lpm.h | 2 +- lib/rcu/rte_rcu_qsbr.c | 7 +- lib/rcu/rte_rcu_qsbr.h | 5 + 40 files changed, 314 insertions(+), 198 deletions(-) -- 1.8.3.1