On Mon, May 21, 2018 at 07:06:49PM +0800, Andy Green wrote: > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47' > MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); > ^~~~~~~~~~~~~~~~~~~~ > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 649:51: warning: conversion from 'size_t' {aka 'long > unsigned int'} to 'int' may change value [-Wconversion] > case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, > n, 0x0B); break; \ > ^ > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 616:15: note: in definition of macro 'MOVEUNALIGNED_LEFT47_IMM' > tmp = len; > \ > ^~~ > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47' > MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); > ^~~~~~~~~~~~~~~~~~~~ > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 618:13: warning: conversion to 'size_t' {aka 'long > unsigned int'} from 'int' may change the sign of the > result [-Wsign-conversion] > tmp -= len; > \ > ^~ > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 649:16: note: in expansion of macro 'MOVEUNALIGNED_LEFT47_IMM' > case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, > n, 0x0B); break; \ > ^~~~~~~~~~~~~~~~~~~~~~~~ > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47' > MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); > ^~~~~~~~~~~~~~~~~~~~ > > /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: > 618:13: warning: conversion to 'size_t' {aka 'long > unsigned int'} from 'int' may change the sign of the > result [-Wsign-conversion] > tmp -= len; > ^~ > > We can eliminate the problems by setting the type of tmp to > size_t in the first place. > > After a suggestion by Bruce Richardson > > Signed-off-by: Andy Green <a...@warmcat.com> > Fixes: d35cc1fe6a ("eal/x86: revert select optimized memcpy at run-time") > ---
Thanks, this looks a better fix than loads of type-casting. Acked-by: Bruce Richardson <bruce.richard...@intel.com>