aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTsukasa OI <research_trasio@irq.a4lg.com>2022-10-06 06:36:32 +0000
committerAndrew Burgess <aburgess@redhat.com>2022-10-11 15:18:14 +0100
commit3efe5b4d9e431f58a17e38d17419d6bcc3a4dd11 (patch)
tree415bfb2eb2070630ee68f016cbeeedb0128371bd
parent7f9495b21380c0184dde72920bcca37be9d76b9d (diff)
downloadgdb-3efe5b4d9e431f58a17e38d17419d6bcc3a4dd11.zip
gdb-3efe5b4d9e431f58a17e38d17419d6bcc3a4dd11.tar.gz
gdb-3efe5b4d9e431f58a17e38d17419d6bcc3a4dd11.tar.bz2
sim/ppc: Add ATTRIBUTE_PRINTF
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.
-rw-r--r--sim/ppc/misc.h8
-rw-r--r--sim/ppc/sim_callbacks.h5
-rw-r--r--sim/ppc/sim_calls.c2
3 files changed, 7 insertions, 8 deletions
diff --git a/sim/ppc/misc.h b/sim/ppc/misc.h
index 784ccfd..0830913 100644
--- a/sim/ppc/misc.h
+++ b/sim/ppc/misc.h
@@ -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,
diff --git a/sim/ppc/sim_callbacks.h b/sim/ppc/sim_callbacks.h
index 08ccd25..c5f23bf 100644
--- a/sim/ppc/sim_callbacks.h
+++ b/sim/ppc/sim_callbacks.h
@@ -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:
diff --git a/sim/ppc/sim_calls.c b/sim/ppc/sim_calls.c
index fbc327c..729f6dc 100644
--- a/sim/ppc/sim_calls.c
+++ b/sim/ppc/sim_calls.c
@@ -388,7 +388,7 @@ sim_io_error (SIM_DESC sd, const char *fmt, ...)
/****/
-void ATTRIBUTE_NORETURN
+void
error (const char *msg, ...)
{
va_list ap;