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. v4: * rebase and adapt for changes made in main since v3 was sent * use fixed maximum array size instead of VLA when doable v3: * address checkpatch/check git log warnings (minor typos) 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 Andre Muezerie (2): test: remove use of VLAs for Windows built code in bitset tests app/testpmd: remove use of VLAs for Windows built code in shared_rxq_fwd 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 rcu: remove use of VLAs for Windows built code Tyler Retzlaff (11): eal: include header required for alloca gro: remove use of VLAs for Windows built code app/testpmd: remove use of VLAs for Windows built 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 | 15 +- app/test-pmd/config.c | 16 +- app/test-pmd/shared_rxq_fwd.c | 2 +- app/test/test.c | 2 +- app/test/test_bitset.c | 55 +++--- app/test/test_cmdline_string.c | 2 +- app/test/test_cryptodev.c | 34 ++-- 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 | 14 +- 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/rcu/rte_rcu_qsbr.c | 7 +- lib/rcu/rte_rcu_qsbr.h | 5 + 39 files changed, 354 insertions(+), 223 deletions(-) -- 2.34.1