qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 01/13] hw/ppc.c: LOG_IRQ macro


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 01/13] hw/ppc.c: LOG_IRQ macro
Date: Thu, 11 Dec 2008 23:54:08 +0100


Am 11.12.2008 um 22:45 schrieb Anthony Liguori:

Eduardo Habkost wrote:
This macro will avoid some #ifdefs in the code and create a single point
where the logging call can be changed in the future.

Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/ppc.c |   10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/hw/ppc.c b/hw/ppc.c
index 60d6e86..cbd69e0 100644
--- a/hw/ppc.c
+++ b/hw/ppc.c
@@ -31,6 +31,16 @@
//#define PPC_DEBUG_IRQ
//#define PPC_DEBUG_TB
+#ifdef PPC_DEBUG_IRQ
+#  define LOG_IRQ(...) do {           \
+     if (loglevel & CPU_LOG_INT)      \
+       fprintf(logfile, __VA_ARGS__); \
+   } while (0)
+#else
+#  define LOG_IRQ(...) do { } while (0)
+#endif


This style of macro is less ideal than:

#define LOG_IRQ(fmt, ...) fprintf(logfile, fmt, ## __VA_ARGS__).

Now that the TCG conversion is done, does QEMU still require GCC? I remember we had issues with such macros in Mono's eGLib due to some compilers needing "fmt..." instead of "fmt, ..." and some not supporting "__VA_ARGS__" but "...".

It might make sense then to put such logging macros in a central place (qemu-common.h?) to avoid having to cope with such annoyances in all those source files.

Andreas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]