From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82]) by dpdk.org (Postfix) with ESMTP id 48D0F231E for ; Thu, 17 May 2018 14:57:19 +0200 (CEST) To: Bruce Richardson Cc: dev@dpdk.org References: <152627436523.53156.4398253089110011263.stgit@localhost.localdomain> <152627459268.53156.2149755990250830416.stgit@localhost.localdomain> <20180517104737.GA22048@bricha3-MOBL.ger.corp.intel.com> From: Andy Green Message-ID: <99e8537a-e4e2-7cdf-30a6-b0b746248f5d@warmcat.com> Date: Thu, 17 May 2018 20:56:57 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 In-Reply-To: <20180517104737.GA22048@bricha3-MOBL.ger.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v4 05/23] /lib/librte_eal: stage cast from uint64 to long 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, 17 May 2018 12:57:19 -0000 On 05/17/2018 06:47 PM, Bruce Richardson wrote: > On Mon, May 14, 2018 at 01:09:52PM +0800, Andy Green wrote: >> /projects/lagopus/src/dpdk/build/include/rte_random.h: >> In function 'rte_srand': >> /projects/lagopus/src/dpdk/build/include/rte_random.h:34:10: >> warning: conversion to 'long int' from 'long unsigned int' >> may change the sign of the result [-Wsign-conversion] >> srand48((long unsigned int)seedval); >> >> /projects/lagopus/src/dpdk/build/include/rte_random.h:51:8: >> warning: conversion to 'uint64_t' {aka 'long unsigned int'} >> from 'long int' may change the sign of the result >> [-Wsign-conversion] >> val = lrand48(); >> ^~~~~~~ >> /projects/lagopus/src/dpdk/build/include/rte_random.h:53:6: >> warning: conversion to 'long unsigned int' from 'long int' >> may change the sign of the result [-Wsign-conversion] >> val += lrand48(); >> >> Signed-off-by: Andy Green >> --- >> lib/librte_eal/common/include/rte_random.h | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/lib/librte_eal/common/include/rte_random.h b/lib/librte_eal/common/include/rte_random.h >> index 63bb28088..e30777b83 100644 >> --- a/lib/librte_eal/common/include/rte_random.h >> +++ b/lib/librte_eal/common/include/rte_random.h >> @@ -31,7 +31,7 @@ extern "C" { >> static inline void >> rte_srand(uint64_t seedval) >> { >> - srand48((long unsigned int)seedval); >> + srand48((long)(unsigned long)seedval); > > Is double-cast necessary here? Can we not just cast straight to long? You're right, it can just go straight to long. I'm going through adding the compiler errors into the patches that have them missing and doing this kind of small change, and I'll reissue in an hour or two (. -Andy >> } >> >> /** >> @@ -48,9 +48,9 @@ static inline uint64_t >> rte_rand(void) >> { >> uint64_t val; >> - val = lrand48(); >> + val = (uint64_t)lrand48(); >> val <<= 32; >> - val += lrand48(); >> + val += (uint64_t)lrand48(); >> return val; >> } >> >> > > Apart from the one minor comment above LGTM > > Acked-by: Bruce Richardson >