LWIP GCC chapu to dobre?
Jan Waclawek
konfera na efton.sk
Pátek Říjen 2 13:45:47 CEST 2015
Ano.
Warningy sa daju potlacat selektivne pre funkcie pomocou pragmy GCC
diagnostic, ja mam napriklad definovane makro
#define NOWARN_CONST(...) \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wcast-qual\"") \
__VA_ARGS__ \
_Pragma("GCC diagnostic pop")
Vyguglil som si tiez (a nasledne vyskusal), ze sa da ten warning potlacit
pre to makro pomocou typecastu toho pointra na (void*)
#define ip_addr_isany(addr1) ((void*)(addr1) == NULL || (addr1)->addr ==
IPADDR_ANY)
Dalsim - mozno najlepsim - riesenim je si urobit ine makro, kde sa na to
NULL nebude testovat, a pouzivat ho v miestach, kde je to makro pouzite s
konstantnym nenulovym pointrom.
wek
----- Original Message ---------------
>#define ip_addr_isany(addr1) ((addr1) == NULL || (addr1)->addr ==
>IPADDR_ANY)
>
>ip_addr_t sn_mask, gw_addr; // lokalni parametr
>
>if (ip_addr_isany(&gw_addr))
>
>pri prekladu:
>Middlewares\Third_Party\LwIP\src\core\dhcp.c|987|warning: the comparison
>will always evaluate as 'false' for the address of 'gw_addr' will never
>be NULL [-Waddress]|
>
>Chapu dobre, ze to je varovani, ze prvni cast podminky je tam nahouby a
>druha cast podminky bude normalne fungovat?
>Jak potlacit ten warning jen pro ten konkretni soubor nebo lepe funkci?
Další informace o konferenci Hw-list