[dpdk-dev] [PATCH v2 1/1] net/ionic: use standard stdbool.h

Jerin Jacob jerinjacobk at gmail.com
Mon Mar 9 09:16:35 CET 2020


On Mon, Mar 9, 2020 at 1:23 PM Sunil Kumar Kori <skori at marvell.com> wrote:
>
> Any DPDK public header file which includes stdbool.h may conflict with
> local definition of bool, if any, which further results in compilation
> error. To avoid, used standard stdbool.h instead of defining bool
> internally.
>
> I observed this issue during a development where I included rte_uuid.h
> into rte_ethdev.h. As rte_ethdev.h is included to PMD driver, it started
> throwing error as given below:
>
>   CC ionic_rxtx.o
> In file included from .../dpdk/build/include/rte_uuid.h:17:0,
>                  from .../dpdk/build/include/rte_ethdev.h:161,
>                  from .../dpdk/build/include/rte_ethdev_driver.h:18,
>                  from .../dpdk/drivers/net/ionic/ionic_rxtx.c:34:
> .../dpdk/drivers/net/ionic/ionic_osdep.h:48:17: error: two or more data types in declaration specifiers
> typedef uint8_t bool;
>                  ^
> In file included from .../dpdk/drivers/net/ionic/ionic_dev.h:8:0,
>                  from .../dpdk/drivers/net/ionic/ionic.h:13,
>                  from .../dpdk/drivers/net/ionic/ionic_mac_api.h:8,
>                  from .../dpdk/drivers/net/ionic/ionic_rxtx.c:45:
> .../dpdk/drivers/net/ionic/ionic_osdep.h:48:1: warning: useless type name in empty declaration
> typedef uint8_t bool;
> ^~~~~~~
> cc1: warning: unrecognized command line option ‘-Wno-address-of-packed-member’
> .../dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'ionic_rxtx.o' failed
>
> Signed-off-by: Sunil Kumar Kori <skori at marvell.com>
> ---

>
> diff --git a/drivers/net/ionic/ionic_osdep.h b/drivers/net/ionic/ionic_osdep.h
> index ecdbc24e6..6ca5426ec 100644
> --- a/drivers/net/ionic/ionic_osdep.h
> +++ b/drivers/net/ionic/ionic_osdep.h
> @@ -45,7 +45,6 @@ typedef uint32_t __le32;
>  typedef uint64_t __le64;
>
>  #ifndef __cplusplus
> -typedef uint8_t bool;
>  #define false   0
>  #define true    1

You could remove the above  as well(#define false and #define true)

>  #endif


More information about the dev mailing list