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

Ferruh Yigit ferruh.yigit at intel.com
Mon Mar 9 09:43:33 CET 2020


On 3/9/2020 8:16 AM, Jerin Jacob wrote:
> 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)

+1,
I need to do same thing for ionic in other patch to be able to use bool:
https://patches.dpdk.org/patch/66225/


More information about the stable mailing list