From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 33E6B7CE7 for ; Thu, 4 May 2017 17:38:35 +0200 (CEST) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 May 2017 08:38:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,287,1491289200"; d="scan'208";a="97638753" Received: from sivswdev01.ir.intel.com ([10.237.217.45]) by fmsmga006.fm.intel.com with ESMTP; 04 May 2017 08:38:34 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Thu, 4 May 2017 16:38:18 +0100 Message-Id: <20170504153822.19461-7-bruce.richardson@intel.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20170504153822.19461-1-bruce.richardson@intel.com> References: <20170504153822.19461-1-bruce.richardson@intel.com> Subject: [dpdk-dev] [PATCH 06/10] lib: fix gcc 7 warnings for switch fall-through 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: Thu, 04 May 2017 15:38:37 -0000 With GCC 7 we need to explicitly document when we are falling through from one switch case to another. Fixes: af75078fece3 ("first public release") Fixes: 8bae1da2afe0 ("hash: fallback to software CRC32 implementation") Fixes: 9ec201f5d6e7 ("mbuf: provide bulk allocation") Signed-off-by: Bruce Richardson --- lib/librte_cmdline/cmdline_parse_num.c | 4 ++-- lib/librte_hash/rte_hash_crc.h | 6 ++++++ lib/librte_mbuf/rte_mbuf.h | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/librte_cmdline/cmdline_parse_num.c b/lib/librte_cmdline/cmdline_parse_num.c index b0f9a35..e507ec4 100644 --- a/lib/librte_cmdline/cmdline_parse_num.c +++ b/lib/librte_cmdline/cmdline_parse_num.c @@ -250,7 +250,7 @@ cmdline_parse_num(cmdline_parse_token_hdr_t *tk, const char *srcbuf, void *res, case HEX: st = HEX_OK; - /* no break */ + /* fall-through no break */ case HEX_OK: if (c >= '0' && c <= '9') { if (add_to_res(c - '0', &res1, 16) < 0) @@ -282,7 +282,7 @@ cmdline_parse_num(cmdline_parse_token_hdr_t *tk, const char *srcbuf, void *res, case BIN: st = BIN_OK; - /* no break */ + /* fall-through */ case BIN_OK: if (c >= '0' && c <= '1') { if (add_to_res(c - '0', &res1, 2) < 0) diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/rte_hash_crc.h index 63e74aa..0f485b8 100644 --- a/lib/librte_hash/rte_hash_crc.h +++ b/lib/librte_hash/rte_hash_crc.h @@ -476,9 +476,15 @@ rte_hash_crc_set_alg(uint8_t alg) case CRC32_SSE42_x64: if (! rte_cpu_get_flag_enabled(RTE_CPUFLAG_EM64T)) alg = CRC32_SSE42; +#if __GNUC__ >= 7 + __attribute__ ((fallthrough)); +#endif case CRC32_SSE42: if (! rte_cpu_get_flag_enabled(RTE_CPUFLAG_SSE4_2)) alg = CRC32_SW; +#if __GNUC__ >= 7 + __attribute__ ((fallthrough)); +#endif #endif case CRC32_SW: crc32_alg = alg; diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 466ec00..9097f18 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -1156,21 +1156,25 @@ static inline int rte_pktmbuf_alloc_bulk(struct rte_mempool *pool, rte_mbuf_refcnt_set(mbufs[idx], 1); rte_pktmbuf_reset(mbufs[idx]); idx++; + /* fall-through */ case 3: RTE_ASSERT(rte_mbuf_refcnt_read(mbufs[idx]) == 0); rte_mbuf_refcnt_set(mbufs[idx], 1); rte_pktmbuf_reset(mbufs[idx]); idx++; + /* fall-through */ case 2: RTE_ASSERT(rte_mbuf_refcnt_read(mbufs[idx]) == 0); rte_mbuf_refcnt_set(mbufs[idx], 1); rte_pktmbuf_reset(mbufs[idx]); idx++; + /* fall-through */ case 1: RTE_ASSERT(rte_mbuf_refcnt_read(mbufs[idx]) == 0); rte_mbuf_refcnt_set(mbufs[idx], 1); rte_pktmbuf_reset(mbufs[idx]); idx++; + /* fall-through */ } } return 0; -- 2.9.3