sim/ppc: Add ATTRIBUTE_PRINTF
authorTsukasa OI <research_trasio@irq.a4lg.com>
Thu, 6 Oct 2022 06:36:32 +0000 (06:36 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Tue, 11 Oct 2022 14:18:14 +0000 (15:18 +0100)
Clang generates a warning if the format string of a printf-like function is
not a literal ("-Wformat-nonliteral").  On the default configuration, it
causes a build failure (unless "--disable-werror" is specified).

To avoid warnings on the printf-like wrapper, it requires proper
__attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.

This commit adds ATTRIBUTE_PRINTF to the printf-like functions.

For the error function defined in sim_calls.c, the ATTRIBUTE_NORETURN
has been moved to the function declaration.

sim/ppc/misc.h
sim/ppc/sim_callbacks.h
sim/ppc/sim_calls.c

index 784ccfdd37b968f8ea3065f8e79ba2e896c2243a..08309134337d2f61e79ae6e9060ccf394616cf45 100644 (file)
@@ -30,8 +30,8 @@
 #include "ansidecl.h"
 #include "filter_filename.h"
 
-extern void error
-(const char *msg, ...);
+extern void error (const char *msg, ...)
+  ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
 
 #define ASSERT(EXPRESSION) \
 do { \
@@ -47,8 +47,8 @@ do { \
 extern void *zalloc
 (long size);
 
-extern void dumpf
-(int indent, const char *msg, ...);
+extern void dumpf (int indent, const char *msg, ...)
+  ATTRIBUTE_PRINTF (2, 3);
 
 extern unsigned target_a2i
 (int ms_bit_nr,
index 08ccd2585692f56ceaf20ee2894ad33c3e4f17c5..c5f23bf8d64e808832f4439b9953dfa49de55eca 100644 (file)
@@ -31,9 +31,8 @@
 void sim_io_printf_filtered
 (const char *msg, ...) ATTRIBUTE_PRINTF_1;
 
-void ATTRIBUTE_NORETURN error
-(const char *msg, ...);
-
+extern void error (const char *msg, ...)
+  ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
 
 /* External environment:
 
index fbc327c94e0996abb56a2fa84904d97f4c26d664..729f6dcb6f36968ab6eee66b68acf281a22fd911 100644 (file)
@@ -388,7 +388,7 @@ sim_io_error (SIM_DESC sd, const char *fmt, ...)
 
 /****/
 
-void ATTRIBUTE_NORETURN
+void
 error (const char *msg, ...)
 {
   va_list ap;