Fix has been included here: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=cb9a05a4f169347f85
** Changed in: qemu Status: In Progress => Fix Released -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1651167 Title: hw/ipmi/isa_ipmi_bt.c:283: suspect use of macro ? Status in QEMU: Fix Released Bug description: I just had a go at compiling qemu trunk with llvm trunk. It said: hw/ipmi/isa_ipmi_bt.c:283:31: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not- parentheses] Source code is IPMI_BT_SET_HBUSY(ib->control_reg, !IPMI_BT_GET_HBUSY(ib->control_reg)); That use of ! causes trouble. The SET and GET macros are defined as: #define IPMI_BT_GET_HBUSY(d) (((d) >> IPMI_BT_HBUSY_BIT) & 0x1) #define IPMI_BT_SET_HBUSY(d, v) (d) = (((d) & ~IPMI_BT_HBUSY_MASK) | \ (((v & 1) << IPMI_BT_HBUSY_BIT))) I can make the compiler shut up by adding extra () in the last use of v in the SET macro, like this: #define IPMI_BT_SET_HBUSY(d, v) (d) = (((d) & ~IPMI_BT_HBUSY_MASK) | \ ((((v) & 1) << IPMI_BT_HBUSY_BIT))) I think this is standard good practice when using macro parameters anyway. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1651167/+subscriptions