[ovs-dev] [PATCH] dpif-netdev: Fix a compilation warning

Pravin Shelar pshelar at nicira.com
Tue Mar 25 20:08:04 UTC 2014


On Mon, Mar 24, 2014 at 10:53 PM, Ben Pfaff <blp at nicira.com> wrote:
> 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.
>
make sense.

Thanks.



> 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 <pshelar at nicira.com> wrote:
>> > On Mon, Mar 24, 2014 at 9:23 PM, Andy Zhou <azhou at 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 <azhou at nicira.com>
>> >
>> > I prefer "do {} while(0)", but this is also fine.
>> >
>> > Acked-by: Pravin B Shelar <pshelar at 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 at openvswitch.org
>> >> http://openvswitch.org/mailman/listinfo/dev
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list