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>
---
 drivers/net/mlx5/mlx5.c      | 5 ++---
 drivers/net/mlx5/mlx5_flow.c | 6 +++---
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 6e4473e2f4..979e54686b 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -1598,14 +1598,13 @@ void
 mlx5_rt_timestamp_config(struct mlx5_dev_ctx_shared *sh,
                         struct mlx5_hca_attr *hca_attr)
 {
-       uint32_t dw_cnt = MLX5_ST_SZ_DW(register_mtutc);
-       uint32_t reg[dw_cnt];
+       uint32_t reg[MLX5_ST_SZ_DW(register_mtutc)];
        int ret = ENOTSUP;
 
        if (hca_attr->access_register_user)
                ret = mlx5_devx_cmd_register_read(sh->cdev->ctx,
                                                  MLX5_REGISTER_ID_MTUTC, 0,
-                                                 reg, dw_cnt);
+                                                 reg, RTE_DIM(reg));
        if (!ret) {
                uint32_t ts_mode;
 
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 3e79754b83..bfc44f25bf 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1479,8 +1479,8 @@ mlx5_flow_item_acceptable(const struct rte_eth_dev *dev,
                                          "mask/last without a spec is not"
                                          " supported");
        if (item->spec && item->last && !range_accepted) {
-               uint8_t spec[size];
-               uint8_t last[size];
+               uint8_t *spec = alloca(size);
+               uint8_t *last = alloca(size);
                unsigned int i;
                int ret;
 
@@ -8481,7 +8481,7 @@ mlx5_ctrl_flow_vlan(struct rte_eth_dev *dev,
                        .type = RTE_FLOW_ITEM_TYPE_END,
                },
        };
-       uint16_t queue[priv->reta_idx_n];
+       uint16_t *queue = alloca(sizeof(uint16_t) * priv->reta_idx_n);
        struct rte_flow_action_rss action_rss = {
                .func = RTE_ETH_HASH_FUNCTION_DEFAULT,
                .level = 0,
-- 
2.47.2.vfs.0.1

Reply via email to