[2/2] sim: ppc: align format string settings with common code

Message ID 20210909010831.13078-2-vapier@gentoo.org
State New
Headers show
Series
  • [1/2] sim: ppc: drop unnecessary config includes
Related show

Commit Message

Tom Tromey via Gdb-patches Sept. 9, 2021, 1:08 a.m.
This copies logic used in the common sim warning configure code to fix
build errors for mingw targets.  Turning format warnings on triggers
a failure in the debug.c file, so apply a minor fix at the same time.
---
 sim/ppc/configure    | 6 ++++++
 sim/ppc/configure.ac | 6 ++++++
 sim/ppc/debug.c      | 2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)

-- 
2.33.0

Patch

diff --git a/sim/ppc/configure b/sim/ppc/configure
index 0bab1af81398..2cb7ccdb86a7 100755
--- a/sim/ppc/configure
+++ b/sim/ppc/configure
@@ -3489,6 +3489,12 @@  sim_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith
 -Wno-pointer-sign
 -Wold-style-declaration -Wold-style-definition
 "
+# Enable -Wno-format by default when using gcc on mingw since many
+# GCC versions complain about %I64.
+case "${host}" in
+  *-*-mingw32*) sim_warnings="$sim_warnings -Wno-format" ;;
+  *) sim_warnings="$sim_warnings -Wformat-nonliteral" ;;
+esac
 # Check whether --enable-sim-warnings was given.
 if test "${enable_sim_warnings+set}" = set; then :
   enableval=$enable_sim_warnings; case "${enableval}" in
diff --git a/sim/ppc/configure.ac b/sim/ppc/configure.ac
index 42ccda3811a5..0fa7f4ee221b 100644
--- a/sim/ppc/configure.ac
+++ b/sim/ppc/configure.ac
@@ -430,6 +430,12 @@  sim_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith
 -Wno-pointer-sign
 -Wold-style-declaration -Wold-style-definition
 "
+# Enable -Wno-format by default when using gcc on mingw since many
+# GCC versions complain about %I64.
+case "${host}" in
+  *-*-mingw32*) sim_warnings="$sim_warnings -Wno-format" ;;
+  *) sim_warnings="$sim_warnings -Wformat-nonliteral" ;;
+esac
 AC_ARG_ENABLE(sim-warnings,
 [  --enable-sim-warnings=opts		Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o],
 [case "${enableval}" in
diff --git a/sim/ppc/debug.c b/sim/ppc/debug.c
index 53a392a303ef..a9b48c3e4cca 100644
--- a/sim/ppc/debug.c
+++ b/sim/ppc/debug.c
@@ -140,7 +140,7 @@  trace_usage(int verbose)
     printf_filtered("\n");
   }
   if (verbose > 1) {
-    const char *format = "\t%-18s%s\n";
+    static const char format[] = "\t%-18s%s\n";
     int i;
     printf_filtered(format, "all", "enable all the trace options");
     for (i = 0; trace_description[i].option < nr_trace_options; i++)