Hi Tyler, > 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.
I submitted the RFC series: https://patchwork.dpdk.org/project/dpdk/list/?series=31781 that provides alternate approach to VLA removal (without alloca()) for core libs. Feel free to re-use whatever is appropriate in your series. If time permits, I'll try to look to other libs from your series (probably next week or so). Konstantin > > 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. > > Tyler Retzlaff (16): > eal: include header required for alloca > hash: remove use of VLAs for Windows built code > ethdev: remove use of VLAs for Windows built code > 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 > rcu: 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/linux/include/rte_os.h | 1 + > lib/eal/windows/include/rte_os.h | 1 + > lib/ethdev/rte_ethdev.c | 9 ++--- > lib/gro/rte_gro.c | 4 +-- > lib/hash/rte_cuckoo_hash.c | 4 +-- > lib/hash/rte_thash.c | 2 +- > lib/latencystats/rte_latencystats.c | 2 +- > lib/lpm/rte_lpm.h | 2 +- > lib/rcu/rte_rcu_qsbr.c | 6 ++-- > 36 files changed, 137 insertions(+), 123 deletions(-) > > -- > 1.8.3.1