From 74b773fcd658c52554a6af07c657f677c52f8102 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 11 Dec 2020 13:48:11 -0500 Subject: gdb: factor out debug_prefixed_printf_cond The same pattern happens often to define a "debug_printf" macro: #define displaced_debug_printf(fmt, ...) \ do \ { \ if (debug_displaced) \ debug_prefixed_printf ("displaced", __func__, fmt, ##__VA_ARGS__); \ } \ while (0) Move this pattern behind a helper macro, debug_prefixed_printf_cond and update the existing macros to use it. gdb/ChangeLog: * displaced-stepping.h (displaced_debug_printf): Use debug_prefixed_printf_cond. * dwarf2/read.c (dwarf_read_debug_printf): Likewise. (dwarf_read_debug_printf_v): Likewise. * infrun.h (infrun_debug_printf): Likewise. * linux-nat.c (linux_nat_debug_printf): Likewise. gdbsupport/ChangeLog: * common-debug.h (debug_prefixed_printf_cond): New. * event-loop.h (event_loop_debug_printf): Use debug_prefixed_printf_cond. Change-Id: I1ff48b98b8d1cc405d1c7e8da8ceadf4e3a17f99 --- gdbsupport/common-debug.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gdbsupport/common-debug.h') diff --git a/gdbsupport/common-debug.h b/gdbsupport/common-debug.h index f9ddcca..7bc6218 100644 --- a/gdbsupport/common-debug.h +++ b/gdbsupport/common-debug.h @@ -50,4 +50,21 @@ extern void ATTRIBUTE_PRINTF (3, 4) debug_prefixed_printf extern void ATTRIBUTE_PRINTF (3, 0) debug_prefixed_vprintf (const char *module, const char *func, const char *format, va_list args); + +/* Helper to define "_debug_print" macros. + + DEBUG_ENABLED_COND is an expression that evaluates to true if the debugging + statement is enabled and should be printed. + + The other arguments, as well as the name of the current function, are + forwarded to debug_prefixed_printf. */ + +#define debug_prefixed_printf_cond(debug_enabled_cond, module, fmt, ...) \ + do \ + { \ + if (debug_enabled_cond) \ + debug_prefixed_printf (module, __func__, fmt, ##__VA_ARGS__); \ + } \ + while (0) + #endif /* COMMON_COMMON_DEBUG_H */ -- cgit v1.1