I'd rather go with inline here because it will not warn about unused variables, whereas I expect that "do {} while (0)" will in at least some cases.
On Mon, Mar 24, 2014 at 10:51:11PM -0700, Andy Zhou wrote: > Thanks Pravin, I will push it soon so that other people won't run into > build issues. > > I agree with you that do / while will also work for void function > types. It is shorter than inline although inline provides argument > type checking. > Would do{} while (0) work for none void functions? What happens if > the function appears at the right hand side of an assignment? > > On the other hand, if both method can be made to work. I will not > insist on inline. It is your call. > > > On Mon, Mar 24, 2014 at 10:17 PM, Pravin Shelar <pshe...@nicira.com> wrote: > > On Mon, Mar 24, 2014 at 9:23 PM, Andy Zhou <az...@nicira.com> wrote: > >> Building OVS tree without DPDK produced the following warning message. > >> lib/dpif-netdev.c:1868:5: error: statement with no effect > >> > >> This error message is complaining the return value of the following > >> macro, (0), is not being used. > >> #define pmd_thread_setaffinity_cpu(c) (0) > >> > >> The patch fixed this warnning by redefins the stub functions > >> as inline funtions. > >> > >> Signed-off-by: Andy Zhou <az...@nicira.com> > > > > I prefer "do {} while(0)", but this is also fine. > > > > Acked-by: Pravin B Shelar <pshe...@nicira.com> > > > >> --- > >> lib/netdev-dpdk.h | 33 ++++++++++++++++++++++++++------- > >> 1 file changed, 26 insertions(+), 7 deletions(-) > >> > >> diff --git a/lib/netdev-dpdk.h b/lib/netdev-dpdk.h > >> index 55984e8..2807310 100644 > >> --- a/lib/netdev-dpdk.h > >> +++ b/lib/netdev-dpdk.h > >> @@ -1,8 +1,10 @@ > >> #ifndef NETDEV_DPDK_H > >> #define NETDEV_DPDK_H > >> > >> -#ifdef DPDK_NETDEV > >> #include <config.h> > >> +#include "ofpbuf.h" > >> + > >> +#ifdef DPDK_NETDEV > >> > >> #include <rte_config.h> > >> #include <rte_eal.h> > >> @@ -16,8 +18,6 @@ > >> #include <rte_launch.h> > >> #include <rte_malloc.h> > >> > >> -#include "ofpbuf.h" > >> - > >> int dpdk_init(int argc, char **argv); > >> void netdev_dpdk_register(void); > >> void free_dpdk_buf(struct ofpbuf *); > >> @@ -25,10 +25,29 @@ int pmd_thread_setaffinity_cpu(int cpu); > >> > >> #else > >> > >> -#define dpdk_init(arg1, arg2) (0) > >> -#define netdev_dpdk_register() > >> -#define free_dpdk_buf(arg) > >> -#define pmd_thread_setaffinity_cpu(c) (0) > >> +static inline int > >> +dpdk_init(int arg1 OVS_UNUSED, char **arg2 OVS_UNUSED) > >> +{ > >> + return 0; > >> +} > >> + > >> +static inline void > >> +netdev_dpdk_register(void) > >> +{ > >> + /* Nothing */ > >> +} > >> + > >> +static inline void > >> +free_dpdk_buf(struct ofpbuf *buf OVS_UNUSED) > >> +{ > >> + /* Nothing */ > >> +} > >> + > >> +static inline int > >> +pmd_thread_setaffinity_cpu(int cpu OVS_UNUSED) > >> +{ > >> + return 0; > >> +} > >> > >> #endif /* DPDK_NETDEV */ > >> #endif > >> -- > >> 1.7.9.5 > >> > >> _______________________________________________ > >> dev mailing list > >> dev@openvswitch.org > >> http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev