From 8c6988797e2a5d6da87fa73fee833ff3776b156b Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Sat, 10 Oct 2020 19:17:58 +0200 Subject: misc: clang-11 and gcc-10 support clang-11 complains: error: field 'buffer_template' with variable sized type 'vlib_buffer_t' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end] Type: improvement Change-Id: I2cb6b4fde723a05b42cf33dd8130df074f0362ab Signed-off-by: Damjan Marion --- src/CMakeLists.txt | 2 +- src/plugins/dpdk/device/dpdk.h | 4 ++-- src/plugins/memif/private.h | 2 +- src/vnet/devices/virtio/device.c | 2 +- src/vnet/pg/pg.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 499a39fbad4..0d971fd8ebc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,7 +13,7 @@ cmake_minimum_required(VERSION 3.5 FATAL_ERROR) -set(CMAKE_C_COMPILER_NAMES clang-10 clang-9 gcc-9 cc) +set(CMAKE_C_COMPILER_NAMES clang-11 clang-10 clang-9 gcc-10 gcc-9 cc) project(vpp C) diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 40f9dce0c05..94842a56397 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -356,9 +356,9 @@ typedef struct u16 device_index; u8 queue_index; struct rte_mbuf mb; + u8 data[256]; /* First 256 data bytes, used for hexdump */ /* Copy of VLIB buffer; packet data stored in pre_data. */ vlib_buffer_t buffer; - u8 data[256]; /* First 256 data bytes, used for hexdump */ } dpdk_tx_trace_t; typedef struct @@ -367,8 +367,8 @@ typedef struct u16 device_index; u16 queue_index; struct rte_mbuf mb; - vlib_buffer_t buffer; /* Copy of VLIB buffer; pkt data stored in pre_data. */ u8 data[256]; /* First 256 data bytes, used for hexdump */ + vlib_buffer_t buffer; /* Copy of VLIB buffer; pkt data stored in pre_data. */ } dpdk_rx_trace_t; void dpdk_device_setup (dpdk_device_t * xd); diff --git a/src/plugins/memif/private.h b/src/plugins/memif/private.h index 4613512041d..187888d5b95 100644 --- a/src/plugins/memif/private.h +++ b/src/plugins/memif/private.h @@ -225,9 +225,9 @@ typedef struct memif_copy_op_t *copy_ops; u32 *buffers; + memif_desc_t desc_template; /* buffer template */ vlib_buffer_t buffer_template; - memif_desc_t desc_template; } memif_per_thread_data_t; typedef struct diff --git a/src/vnet/devices/virtio/device.c b/src/vnet/devices/virtio/device.c index 32c1eab6b34..5c4412fdb0b 100644 --- a/src/vnet/devices/virtio/device.c +++ b/src/vnet/devices/virtio/device.c @@ -74,8 +74,8 @@ typedef struct { u32 buffer_index; u32 sw_if_index; - vlib_buffer_t buffer; generic_header_offset_t gho; + vlib_buffer_t buffer; } virtio_tx_trace_t; static u8 * diff --git a/src/vnet/pg/pg.h b/src/vnet/pg/pg.h index f5b5e5ac358..da2c2b54347 100644 --- a/src/vnet/pg/pg.h +++ b/src/vnet/pg/pg.h @@ -402,8 +402,8 @@ clib_error_t *pg_capture (pg_capture_args_t * a); typedef struct { - vlib_buffer_t buffer; u32 buffer_index; + vlib_buffer_t buffer; } pg_output_trace_t; -- cgit 1.2.3-korg