On Mon, Mar 16, 2015 at 12:56:04PM +0000, John McNamara wrote: > Fix a warning when the rte_common.h header is included in a compilation > using -Wbad-function-cast, such as in Open vSwitch where the > following warning is emitted repeatedly: > > ../rte_common.h: In function 'rte_is_aligned': > ../rte_common.h:184:9: warning: cast from function call of > type 'uintptr_t' to non-matching type 'void *' [-Wbad-function-cast] > > This change fixes the issue in rte_common.h by using the RTE_ALIGN_FLOOR > macro to get the aligned floor value with generic type casting. > > Signed-off-by: John McNamara <john.mcnamara at intel.com> > --- > lib/librte_eal/common/include/rte_common.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_eal/common/include/rte_common.h > b/lib/librte_eal/common/include/rte_common.h > index 4971049..86b7e9b 100644 > --- a/lib/librte_eal/common/include/rte_common.h > +++ b/lib/librte_eal/common/include/rte_common.h > @@ -120,7 +120,7 @@ rte_align_floor_int(uintptr_t ptr, uintptr_t align) > * must be a power-of-two value. > */ > #define RTE_PTR_ALIGN_FLOOR(ptr, align) \ > - (typeof(ptr))rte_align_floor_int((uintptr_t)ptr, align) > + (typeof(ptr))RTE_ALIGN_FLOOR((uintptr_t)ptr, align) > > /** > * Macro to align a value to a given power-of-two. The resultant value > -- > 1.8.1.4 > >
This looks reasonable, but it rather begs the question as to why we need rte_align_floor_int in the first place. Theres only one other call site, and it looks like it could use RTE_PTR_ALIGN_FLOOR just as easily. What about fixing up the second call site and removing the function to save some space? Best Neil