microblaze-tdep: Add ATTRIBUTE_PRINTF to microblaze_debug
authorSimon Marchi <simon.marchi@ericsson.com>
Thu, 21 Sep 2017 12:09:33 +0000 (14:09 +0200)
committerSimon Marchi <simon.marchi@ericsson.com>
Thu, 21 Sep 2017 12:09:33 +0000 (14:09 +0200)
I am getting this warning with clang:

/home/emaisin/src/binutils-gdb/gdb/microblaze-tdep.c:94:28: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
       vprintf_unfiltered (fmt, args);
                           ^~~

Adding ATTRIBUTE_PRINTF to microblaze_debug gets rid of it.  Strangely,
gcc doesn't warn about non-literal format strings when calling vprintf
(or a vprintf-style function, like vprintf_unfiltered).  I filed this
gcc bug:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82206

gdb/ChangeLog:

* microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.

gdb/ChangeLog
gdb/microblaze-tdep.c

index adafa4c356a37d47b7896f8e4983d75baca88579..88e7a6eb4a4dd02e772c11c7994086f5c161fda4 100644 (file)
@@ -1,3 +1,7 @@
+2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
+
 2017-09-21  Yao Qi  <yao.qi@linaro.org>
 
        * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
index 7547581c63a59e93392bd02e635da6def4392b56..caa7d2fa1001d4ff1ed0020dfe80a596073d0f3a 100644 (file)
@@ -82,7 +82,7 @@ static const char *microblaze_register_names[] =
 \f
 static unsigned int microblaze_debug_flag = 0;
 
-static void
+static void ATTRIBUTE_PRINTF (1, 2)
 microblaze_debug (const char *fmt, ...)
 { 
   if (microblaze_debug_flag)