[dpdk-dev] [PATCH v7 07/12] app/test: clean LTO build warnings (maybe-uninitialized)

Wang, Yipeng1 yipeng1.wang at intel.com
Thu Nov 7 18:53:39 CET 2019


>-----Original Message-----
>From: Andrzej Ostruszka [mailto:aostruszka at marvell.com]
>Sent: Thursday, November 7, 2019 7:03 AM
>To: dev at dpdk.org; Wang, Yipeng1 <yipeng1.wang at intel.com>; Gobriel, Sameh <sameh.gobriel at intel.com>; Richardson, Bruce
><bruce.richardson at intel.com>; Chas Williams <chas3 at att.com>; Burakov, Anatoly <anatoly.burakov at intel.com>
>Cc: mattias.ronnblom at ericsson.com; stephen at networkplumber.org
>Subject: [PATCH v7 07/12] app/test: clean LTO build warnings (maybe-uninitialized)
>
>During LTO build compiler reports some 'false positive' warnings about
>variables being possibly used uninitialized.  This patch silences these
>warnings.
>
>Exemplary compiler warning to suppress (with LTO enabled):
>error: ‘stats.greatest_free_size’ may be used uninitialized in this
>function [-Werror=maybe-uninitialized]
>  return len - overhead;
>
>Signed-off-by: Andrzej Ostruszka <aostruszka at marvell.com>
>---
> app/test/test_hash_readwrite.c     | 2 +-
> app/test/test_link_bonding_mode4.c | 8 +++++++-
> app/test/test_memzone.c            | 3 ++-
> 3 files changed, 10 insertions(+), 3 deletions(-)
>
>diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c
>index 4376b099b..615767fb6 100644
>--- a/app/test/test_hash_readwrite.c
>+++ b/app/test/test_hash_readwrite.c
>@@ -298,7 +298,7 @@ test_rw_reader(void *arg)
>
> 	begin = rte_rdtsc_precise();
> 	for (i = 0; i < read_cnt; i++) {
>-		void *data;
>+		void *data = arg;
> 		rte_hash_lookup_data(tbl_rw_test_param.h,
> 				tbl_rw_test_param.keys + i,
> 				&data);
>diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c
>index ff54d7b91..cf12f026d 100644
>--- a/app/test/test_link_bonding_mode4.c
>+++ b/app/test/test_link_bonding_mode4.c
>@@ -585,7 +585,13 @@ bond_get_update_timeout_ms(void)
> {
> 	struct rte_eth_bond_8023ad_conf conf;
>
>-	rte_eth_bond_8023ad_conf_get(test_params.bonded_port_id, &conf);
>+	if (rte_eth_bond_8023ad_conf_get(test_params.bonded_port_id, &conf) < 0) {
>+		RTE_LOG(DEBUG, EAL, "Failed to get bonding configuration: "
>+				    "%s at %d\n", __func__, __LINE__);
>+		RTE_TEST_TRACE_FAILURE(__FILE__, __LINE__, __func__);
>+		return 0;
>+	}
>+
> 	return conf.update_timeout_ms;
> }
>
>diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c
>index 4d8744455..0343b0326 100644
>--- a/app/test/test_memzone.c
>+++ b/app/test/test_memzone.c
>@@ -475,7 +475,8 @@ find_max_block_free_size(unsigned int align, unsigned int socket_id)
> 	struct rte_malloc_socket_stats stats;
> 	size_t len, overhead;
>
>-	rte_malloc_get_socket_stats(socket_id, &stats);
>+	if (rte_malloc_get_socket_stats(socket_id, &stats) < 0)
>+		return 0;
>
> 	len = stats.greatest_free_size;
> 	overhead = MALLOC_ELEM_OVERHEAD;
>--
>2.17.1

[Wang, Yipeng] 
For the test_hash_readwrite.c file:
Acked-by: Yipeng Wang <yipeng1.wang at intel.com>


More information about the dev mailing list