From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) by dpdk.org (Postfix) with ESMTP id 37C71559A for ; Wed, 26 Apr 2017 14:07:40 +0200 (CEST) Received: by mail-wr0-f176.google.com with SMTP id l50so50573383wrc.3 for ; Wed, 26 Apr 2017 05:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=ZMuYXnJWcdo8yBRvN0sv5GuZ36W4RNYQbtC2SyvUB/o=; b=Vm2xKkRj8QPcHh1C52TxjlS8HdDLkUCjdyS1LgVIGWVtqow93k92IgGtE3W8qM9w1O nRpA8vLUgKPtbYf7ecIUzQRlTqo5RcppJ1CWr7Y/i0plSXpva8rxqVK3wbrVfz5iMbzm 2OS6gNm+JsIu6adZfOSCEZBOrFnCo4St7foXQx5GwiGQS+GrujmmwDy8fggubn4KUTDP xI9T0u1oSecb1LD9dUW8MFlPcASsE+kbSGsoR+EP2G8psEggn8nSgSA70dBduFAkSc0N FFkUPit2SLYC9nOMM/3/aUgxMXgY+vFlghxTkthUHkKlveSvPA4PwnTIbjhn23ih17Vp zJxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=ZMuYXnJWcdo8yBRvN0sv5GuZ36W4RNYQbtC2SyvUB/o=; b=UOWQhdc+gKJ+V6+LMSAijRVy78dzU5nQG4GT7pZekeIVLTzgnKy3gxf4jT0TtFlnsC oF3wMo6CawhVyEIGUAB/f6UxQVsKc7RWlKVgiNCIFx2RiUMBPJVt1Z4D8i4+NYlzqcAc mh1Bv71ecyi+u4gtf4lfkcslDsurfe7675ZaagJlmnbGJps3VNvM4vmOueBavpb1fAYe uP/WXJd47OXi3S+JAvQNF0b/2MjNL4eVPz9AQtDqeFgyjCsa8V6P+O1RXU65/EfGuZwG yoRZKQpp2Np3yhkQCqbBKrQRLcJ/a9ZM7uncoIL9L5lBbliIrDQ9I90mnkzS7y8OXa5R vXHQ== X-Gm-Message-State: AN3rC/4IKxX1/3G677mMYHq5vCXiysOkmcONjotmgaZ/AKT5mXmG9463 rjnHa/N76p3h+owTo+0= X-Received: by 10.223.141.244 with SMTP id o107mr14806552wrb.69.1493208459741; Wed, 26 Apr 2017 05:07:39 -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 n49sm43188wrn.30.2017.04.26.05.07.38 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Wed, 26 Apr 2017 05:07:38 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Date: Wed, 26 Apr 2017 14:07:13 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 05/14] 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: Wed, 26 Apr 2017 12:07:40 -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") Signed-off-by: Adrien Mazarguil Acked-by: Yuanhan Liu Acked-by: Maxime Coquelin --- 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