From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by dpdk.org (Postfix) with ESMTP id 203675942 for ; Mon, 24 Apr 2017 17:53:24 +0200 (CEST) Received: by mail-wm0-f45.google.com with SMTP id u65so396980wmu.1 for ; Mon, 24 Apr 2017 08:53:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VdhEO4BuSCX319oWJEzGnQdie7QlMi2LiBBqrnZ0l2Y=; b=MAI98MHpaBRNdokp5xfZfELE7QRGp6DukC7O/Em+3sgeCxJQ6Us/ZbwuzPuHux/PGO p3OB6YYz89JKAZhxVpwbbY/gyfkbONwJnVWxq2EfvaXih/Tk4I4nXanC/vsm/uJuRszs DnIIr2GzbxV0l86mUcTbbmbsPk7MxCq06AyjKkJzHkVdzX+DJQof+aN9lIu0tCOnnwW2 PfAs+dbHV56kTbBBJqFbe2Ou7U1PJPQemCYqUy6oDrKIT07xPuz4s0gDpazNHN4vf+wk jK055jJvPqxpK32ZVEN7z3wk+JHy8nv+g+jGLtO0/ABWaMpJDybjQoojL2zBERf8HhO/ 8EUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VdhEO4BuSCX319oWJEzGnQdie7QlMi2LiBBqrnZ0l2Y=; b=C6tozaxZOuu93zyHtW5imn6vbZhQ0/LKf6qOoY18+yRBQZGEoKjcpHIjrT3YmgSNDR 0W4bztx5x+ilmQb8AyV/gC8vR35KglKZa90p01DljhtYGtaF2QbN7N9YVT2E05bBdSHD JwmcEoQnTepFxz3FAV2zbsYFWDRxsgJr0wvuRky4faNy+QkQvNcA+ZVGoZnt4XbdayZh y6xd4L7OzvJ+W12oUWOJxNNDOKLcAgxYa8Xn0l/gNmkrKMMzaAuESRD+k1Q9l56KKzOR cMuYDP4kkl3kGHoGUxlaNedybPFKdlErVHuHlBsFDrwYBmKVrpViSQ6hOZ/+Ex6MMn7m KmCw== X-Gm-Message-State: AN3rC/5xay0vfpkPleEq5X+xU1cGUK/lJCh7GSuwlSQpVXr18hh7ReEQ /gLCHTOs6SeManeM X-Received: by 10.28.41.199 with SMTP id p190mr9967097wmp.78.1493049203805; Mon, 24 Apr 2017 08:53:23 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id x65sm775832wmg.3.2017.04.24.08.53.23 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Mon, 24 Apr 2017 08:53:23 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Cc: Yuanhan Liu , Maxime Coquelin Date: Mon, 24 Apr 2017 17:52:59 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH 05/13] vhost: fix errors with strict compilation flags X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Apr 2017 15:53:24 -0000 Exported headers must allow compilation with the strictest flags. This commit addresses the following errors: In file included from /tmp/check-includes.sh.20132.c:1:0: build/include/rte_vhost.h:73:30: error: ISO C forbids zero-size array 'regions' [-Werror=pedantic] [...] Also: - Add C++ awareness to rte_vhost.h for consistency with rte_eth_vhost.h. - Move Linux includes into C++ block to prevent linking issues with exported symbols. - Update check-includes.sh following the removal of rte_virtio_net.h. Finally, update check-includes.sh to ignore rte_vhost.h and rte_eth_vhost.h from now on since the Linux headers they depend on are not clean enough: In file included from /usr/include/linux/vhost.h:17:0, from build/include/rte_vhost.h:43, from build/include/rte_eth_vhost.h:44, from /tmp/check-includes.sh.20132.c:1: /usr/include/linux/virtio_ring.h: In function 'vring_init': /usr/include/linux/virtio_ring.h:146:16: error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith] [...] In file included from build/include/rte_vhost.h:43:0, from build/include/rte_eth_vhost.h:44, from /tmp/check-includes.sh.20132.c:1: /usr/include/linux/vhost.h: At top level: /usr/include/linux/vhost.h:73:3: error: ISO C99 doesn't support unnamed structs/unions [-Werror=pedantic] [...] Fixes: eb32247457fe ("vhost: export guest memory regions") Fixes: a798beb47c8e ("vhost: rename header file") Cc: Yuanhan Liu Cc: Maxime Coquelin Signed-off-by: Adrien Mazarguil --- devtools/check-includes.sh | 4 +++- lib/librte_vhost/rte_vhost.h | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/devtools/check-includes.sh b/devtools/check-includes.sh index d65adc6..c4ec73f 100755 --- a/devtools/check-includes.sh +++ b/devtools/check-includes.sh @@ -109,10 +109,12 @@ include_dir=${1:-build/include} 'rte_byteorder_64.h' \ 'generic/*' \ 'exec-env/*' \ + 'rte_vhost.h' \ + 'rte_eth_vhost.h' \ } : ${IGNORE_CXX= \ + 'rte_vhost.h' \ 'rte_eth_vhost.h' \ - 'rte_virtio_net.h' \ } temp_cc=/tmp/${0##*/}.$$.c diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h index 7a586e4..605e47c 100644 --- a/lib/librte_vhost/rte_vhost.h +++ b/lib/librte_vhost/rte_vhost.h @@ -40,13 +40,19 @@ */ #include -#include -#include #include #include #include +#ifdef __cplusplus +extern "C" { +#endif + +/* These are not C++-aware. */ +#include +#include + #define RTE_VHOST_USER_CLIENT (1ULL << 0) #define RTE_VHOST_USER_NO_RECONNECT (1ULL << 1) #define RTE_VHOST_USER_DEQUEUE_ZERO_COPY (1ULL << 2) @@ -70,7 +76,7 @@ struct rte_vhost_mem_region { */ struct rte_vhost_memory { uint32_t nregions; - struct rte_vhost_mem_region regions[0]; + struct rte_vhost_mem_region regions[]; }; struct rte_vhost_vring { @@ -426,4 +432,8 @@ int rte_vhost_get_mem_table(int vid, struct rte_vhost_memory **mem); int rte_vhost_get_vhost_vring(int vid, uint16_t vring_idx, struct rte_vhost_vring *vring); +#ifdef __cplusplus +} +#endif + #endif /* _RTE_VHOST_H_ */ -- 2.1.4