From: Nicolai Hähnle Date: Mon, 21 Sep 2009 15:28:37 +0000 (+0200) Subject: gallium debug: Add gcc printf hint to debug_printf X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=496137d8eb85e78fab748f184b392f99b17059ea;p=mesa.git gallium debug: Add gcc printf hint to debug_printf This causes gcc to issue warnings when format parameters do not match up with the format string in calls to debug_printf. Signed-off-by: Nicolai Hähnle --- diff --git a/src/gallium/auxiliary/util/u_debug.h b/src/gallium/auxiliary/util/u_debug.h index 1380d98d7ee..b82e7cb4d40 100644 --- a/src/gallium/auxiliary/util/u_debug.h +++ b/src/gallium/auxiliary/util/u_debug.h @@ -65,6 +65,11 @@ extern "C" { #define __FUNCTION__ "???" #endif +#if defined(__GNUC__) +#define _util_printf_format(fmt, list) __attribute__ ((format (printf, fmt, list))) +#else +#define _util_printf_format(fmt, list) +#endif void _debug_vprintf(const char *format, va_list ap); @@ -82,13 +87,16 @@ _debug_printf(const char *format, ...) /** * Print debug messages. * - * The actual channel used to output debug message is platform specific. To - * avoid misformating or truncation, follow these rules of thumb: + * The actual channel used to output debug message is platform specific. To + * avoid misformating or truncation, follow these rules of thumb: * - output whole lines - * - avoid outputing large strings (512 bytes is the current maximum length + * - avoid outputing large strings (512 bytes is the current maximum length * that is guaranteed to be printed in all platforms) */ #if !defined(PIPE_OS_HAIKU) +static INLINE void +debug_printf(const char *format, ...) _util_printf_format(1,2); + static INLINE void debug_printf(const char *format, ...) {