Noticed this by chance in the tests/ directory, so I broadened it to a grep of the entire code base. I suspect^wKNOW many of the bad macros were the victims of copy-and-paste from some other bad location (particularly given how many bit-rotten debug print macros were involved).
https://wiki.qemu.org/BiteSizedTasks#Bitrot_prevention is still left for someone else, for another day. In v2: - add review tags - audit that the maint patch has no semantic change (all callers were indeed supplying ';' at the macro call-sites) - improved commit messages - more patches for some additional cleanups - tighten the checkpatch rule to also flag 'while (false);' Eric Blake (7): net: Drop unusual use of do { } while (0); mips: Tweak location of ';' in macros chardev: Use goto/label instead of do/break/while(0) chardev: Clean up previous patch indentation tests: Avoid 'do/while(false);' in vhost-user-bridge maint: Fix macros with broken 'do/while(0);' usage checkpatch: Enforce proper do/while (0) style tests/acpi-utils.h | 8 ++--- ui/sdl_zoom_template.h | 8 ++--- audio/paaudio.c | 4 +-- chardev/char-serial.c | 75 ++++++++++++++++++++++++---------------------- hw/adc/stm32f2xx_adc.c | 2 +- hw/block/m25p80.c | 2 +- hw/char/cadence_uart.c | 2 +- hw/char/stm32f2xx_usart.c | 2 +- hw/display/cg3.c | 2 +- hw/display/dpcd.c | 2 +- hw/display/xlnx_dp.c | 2 +- hw/dma/pl330.c | 2 +- hw/dma/xlnx-zynq-devcfg.c | 2 +- hw/dma/xlnx_dpdma.c | 2 +- hw/i2c/i2c-ddc.c | 2 +- hw/misc/auxbus.c | 2 +- hw/misc/macio/mac_dbdma.c | 4 +-- hw/misc/mmio_interface.c | 2 +- hw/misc/stm32f2xx_syscfg.c | 2 +- hw/misc/zynq_slcr.c | 2 +- hw/net/cadence_gem.c | 2 +- hw/net/pcnet.c | 20 ++++++------- hw/ssi/mss-spi.c | 2 +- hw/ssi/stm32f2xx_spi.c | 2 +- hw/ssi/xilinx_spi.c | 2 +- hw/ssi/xilinx_spips.c | 2 +- hw/timer/a9gtimer.c | 2 +- hw/timer/cadence_ttc.c | 2 +- hw/timer/mss-timer.c | 2 +- hw/timer/stm32f2xx_timer.c | 2 +- hw/tpm/tpm_passthrough.c | 2 +- hw/tpm/tpm_tis.c | 2 +- migration/rdma.c | 2 +- target/arm/translate-a64.c | 2 +- target/mips/msa_helper.c | 34 +++++++++++---------- target/s390x/kvm.c | 2 +- tests/tcg/test-mmap.c | 2 +- tests/vhost-user-bridge.c | 6 ++-- scripts/checkpatch.pl | 5 ++++ 39 files changed, 119 insertions(+), 105 deletions(-) -- 2.14.3