e40303eb0f
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
Fixes:
|
||
---|---|---|
.. | ||
ionic_dev.c | ||
ionic_dev.h | ||
ionic_ethdev.c | ||
ionic_ethdev.h | ||
ionic_if.h | ||
ionic_lif.c | ||
ionic_lif.h | ||
ionic_logs.h | ||
ionic_mac_api.c | ||
ionic_mac_api.h | ||
ionic_main.c | ||
ionic_osdep.h | ||
ionic_regs.h | ||
ionic_rx_filter.c | ||
ionic_rx_filter.h | ||
ionic_rxtx.c | ||
ionic_rxtx.h | ||
ionic.h | ||
Makefile | ||
meson.build | ||
rte_pmd_ionic_version.map |