To prevent bitrot of the format string of the debug statement, files with conditional debug statements should ensure that printf is compiled always, and enclosed within if(0) statements and not in #ifdef.
Signed-off-by: Anishka Gupta <rimjhim0...@gmail.com> --- include/hw/unicore32/puv3.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/include/hw/unicore32/puv3.h b/include/hw/unicore32/puv3.h index 5a4839f..e268484 100644 --- a/include/hw/unicore32/puv3.h +++ b/include/hw/unicore32/puv3.h @@ -41,10 +41,14 @@ #define PUV3_IRQS_OST0 (26) /* All puv3_*.c use DPRINTF for debug. */ -#ifdef DEBUG_PUV3 -#define DPRINTF(fmt, ...) printf("%s: " fmt , __func__, ## __VA_ARGS__) -#else -#define DPRINTF(fmt, ...) do {} while (0) -#endif +#define DEBUG_PUV3 0 + +#define DPRINTF(fmt, ...) + if (DEBUG_PUV3) { + fprintf(stderr, "%s: " fmt , __func__, ## __VA_ARGS__) + } + else { + do {} while (0) + } #endif /* QEMU_HW_PUV3_H */ -- 2.5.0