From: Tyler Retzlaff <roret...@linux.microsoft.com> 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.
Signed-off-by: Tyler Retzlaff <roret...@linux.microsoft.com> Acked-by: Bruce Richardson <bruce.richard...@intel.com> --- drivers/common/idpf/idpf_common_rxtx.c | 2 +- drivers/common/idpf/idpf_common_rxtx_avx512.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/common/idpf/idpf_common_rxtx.c b/drivers/common/idpf/idpf_common_rxtx.c index a04e54ce26..e04ab40fa2 100644 --- a/drivers/common/idpf/idpf_common_rxtx.c +++ b/drivers/common/idpf/idpf_common_rxtx.c @@ -569,7 +569,7 @@ idpf_split_rx_bufq_refill(struct idpf_rx_queue *rx_bufq) uint16_t nb_refill = rx_bufq->rx_free_thresh; uint16_t nb_desc = rx_bufq->nb_rx_desc; uint16_t next_avail = rx_bufq->rx_tail; - struct rte_mbuf *nmb[rx_bufq->rx_free_thresh]; + struct rte_mbuf **nmb = alloca(sizeof(struct rte_mbuf *) * rx_bufq->rx_free_thresh); uint64_t dma_addr; uint16_t delta; int i; diff --git a/drivers/common/idpf/idpf_common_rxtx_avx512.c b/drivers/common/idpf/idpf_common_rxtx_avx512.c index 81052e72c1..6fbfee1b2d 100644 --- a/drivers/common/idpf/idpf_common_rxtx_avx512.c +++ b/drivers/common/idpf/idpf_common_rxtx_avx512.c @@ -998,7 +998,8 @@ idpf_tx_singleq_free_bufs_avx512(struct idpf_tx_queue *txq) uint32_t n; uint32_t i; int nb_free = 0; - struct rte_mbuf *m, *free[txq->rs_thresh]; + struct rte_mbuf *m; + struct rte_mbuf **free = alloca(sizeof(struct rte_mbuf *) * txq->rs_thresh); /* check DD bits on threshold descriptor */ if ((txq->tx_ring[txq->next_dd].qw1 & @@ -1322,7 +1323,8 @@ idpf_tx_splitq_free_bufs_avx512(struct idpf_tx_queue *txq) uint32_t n; uint32_t i; int nb_free = 0; - struct rte_mbuf *m, *free[txq->rs_thresh]; + struct rte_mbuf *m; + struct rte_mbuf **free = alloca(sizeof(struct rte_mbuf *) * txq->rs_thresh); n = txq->rs_thresh; -- 2.47.2.vfs.0.1