+-- On Mon, 23 Mar 2020, P J P wrote --+ | +-- On Mon, 23 Mar 2020, Jason Wang wrote --+ | | hw/net/tulip.c:305:20: error: initialization of ‘_Bool (*)(NetClientState *)’ | | {aka ‘_Bool (*)(struct NetClientState *)’} from incompatible pointer type ‘int | | (*)(NetClientState *)’ {aka ‘int (*)(struct NetClientState *)’} | | [-Werror=incompatible-pointer-types] | | .can_receive = tulip_can_receive, | | ^~~~~~~~~~~~~~~~~ | | Strange, I did not get it.
qemu/include/net.h: typedef int (NetCanReceive)(NetClientState *); typedef struct NetClientInfo { ... NetCanReceive *can_receive; ... } @Jason, Looking at the definition above, 'NetCanReceive' is returning an 'int' type. When I change 'tulip_can_receive' to return a 'bool', I get the reverse error hw/net/tulip.c:305:20: error: initialization of ‘int (*)(NetClientState *)’ {aka ‘int (*)(struct NetClientState *)’} from incompatible pointer type ‘_Bool (*)(NetClientState *)’ {aka ‘_Bool (*)(struct NetClientState *)’} [-Werror=incompatible-pointer-types] 305 | .can_receive = tulip_can_receive, | ^~~~~~~~~~~~~~~~~ Maybe because of a stagged local change in your tree? (to confirm) Thank you. -- Prasad J Pandit / Red Hat Product Security Team 8685 545E B54C 486B C6EB 271E E285 8B5A F050 DE8D