sim: sprinkle some ATTRIBUTE_PRINTF
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 22 Apr 2021 16:07:14 +0000 (12:07 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 22 Apr 2021 16:07:14 +0000 (12:07 -0400)
Add some ATTRIBUTE_PRINTF attributes to functions that take a format
string, to fix a few -Wformat-nonliteral warnings.  Use the
ATTRIBUTE_PRINTF macro like we use in GDB, instead of spelling out
__attribute__((format...)).  Use ATTRIBUTE_NULL_PRINTF at one place,
because callers expect to be able to pass NULL.

sim/common/ChangeLog:

* callback.c (os_printf_filtered, os_vprintf_filtered,
os_evprintf_filtered, os_error): Use ATTRIBUTE_PRINTF.
* sim-engine.h (sim_engine_abort, sim_engine_vabort): Likewise.
* sim-events.h (sim_events_schedule_tracef,
sim_events_schedule_vtracef): Use ATTRIBUTE_NULL_PRINTF.

Change-Id: Icd206f7b2c325e8b144f72eb129fb2a6b5af2fa3

sim/common/ChangeLog
sim/common/callback.c
sim/common/sim-engine.h
sim/common/sim-events.h

index d62a40d5db89bd35f4b0d34e6b3ea84429c9732d..c6a0b83d01185d5a96bcfd505ba80a85709af114 100644 (file)
@@ -1,3 +1,11 @@
+2021-04-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * callback.c (os_printf_filtered, os_vprintf_filtered,
+       os_evprintf_filtered, os_error): Use ATTRIBUTE_PRINTF.
+       * sim-engine.h (sim_engine_abort, sim_engine_vabort): Likewise.
+       * sim-events.h (sim_events_schedule_tracef,
+       sim_events_schedule_vtracef): Use ATTRIBUTE_NULL_PRINTF.
+
 2021-04-18  Mike Frysinger  <vapier@gentoo.org>
 
        * gennltvals.py (TARGETS): Add moxie.
index f9e848fd913d722d0c3a4b93d9127084526025da..2fec2704f3e023d19b61cbb3244880af8245082a 100644 (file)
@@ -639,7 +639,7 @@ os_init (host_callback *p)
 /* DEPRECATED */
 
 /* VARARGS */
-static void
+static void ATTRIBUTE_PRINTF (2, 3)
 os_printf_filtered (host_callback *p ATTRIBUTE_UNUSED, const char *format, ...)
 {
   va_list args;
@@ -650,14 +650,14 @@ os_printf_filtered (host_callback *p ATTRIBUTE_UNUSED, const char *format, ...)
 }
 
 /* VARARGS */
-static void
+static void ATTRIBUTE_PRINTF (2, 0)
 os_vprintf_filtered (host_callback *p ATTRIBUTE_UNUSED, const char *format, va_list args)
 {
   vprintf (format, args);
 }
 
 /* VARARGS */
-static void
+static void ATTRIBUTE_PRINTF (2, 0)
 os_evprintf_filtered (host_callback *p ATTRIBUTE_UNUSED, const char *format, va_list args)
 {
   vfprintf (stderr, format, args);
@@ -667,7 +667,7 @@ os_evprintf_filtered (host_callback *p ATTRIBUTE_UNUSED, const char *format, va_
 #ifdef __GNUC__
 __attribute__ ((__noreturn__))
 #endif
-static void
+static void ATTRIBUTE_PRINTF (2, 3)
 os_error (host_callback *p ATTRIBUTE_UNUSED, const char *format, ...)
 {
   va_list args;
index 25d06f774de0a75a05165334e89670ea77683d3c..5adce8deedbc03e9967192151b4becfa210c731b 100644 (file)
@@ -115,14 +115,14 @@ extern void sim_engine_abort
  sim_cpu *cpu,
  sim_cia cia,
  const char *fmt,
- ...) __attribute__ ((format (printf, 4, 5))) __attribute__ ((noreturn));
+ ...) ATTRIBUTE_PRINTF (4, 5) __attribute__ ((noreturn));
 
 extern void sim_engine_vabort
 (SIM_DESC sd,
  sim_cpu *cpu,
  sim_cia cia,
  const char *fmt,
- va_list ap) __attribute__ ((noreturn));
+ va_list ap) ATTRIBUTE_PRINTF (4, 0) __attribute__ ((noreturn));
 
 /* No abort hook - when possible this function exits using the
    engine_halt function (and SIM_ENGINE_HALT_HOOK). */
index 7a5fc9665d2118799ee290a811df7bb4f19dd73a..3f1501ea67cd96534f8b4e1c30d6350cfd0cb61d 100644 (file)
@@ -117,7 +117,7 @@ extern sim_event *sim_events_schedule_tracef
  sim_event_handler *handler,
  void *data,
  const char *fmt,
- ...) __attribute__ ((format (printf, 5, 6)));
+ ...) ATTRIBUTE_NULL_PRINTF (5, 6);
 
 extern sim_event *sim_events_schedule_vtracef
 (SIM_DESC sd,
@@ -125,7 +125,7 @@ extern sim_event *sim_events_schedule_vtracef
  sim_event_handler *handler,
  void *data,
  const char *fmt,
- va_list ap);
+ va_list ap) ATTRIBUTE_NULL_PRINTF (5, 0);
 
 
 extern void sim_events_schedule_after_signal