[dpdk-dev] [PATCH v4 05/23] /lib/librte_eal: stage cast from uint64 to long
Bruce Richardson
bruce.richardson at intel.com
Thu May 17 12:47:37 CEST 2018
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 <andy at warmcat.com>
> ---
> 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?
> }
>
> /**
> @@ -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 <bruce.richardson at intel.com>
More information about the dev
mailing list