sim: ppc: unify (most) compiler warnings with common code

Copy most of the common build warning logic over from the common
code to help keep code behavior a bit consistent, and turn them
on by default.  We disable a few flags for now until we can clean
the code up.
This commit is contained in:
Mike Frysinger 2021-06-29 22:06:30 -04:00
parent 408a44aac1
commit 79c4446067
3 changed files with 73 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2021-06-30 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Add -W flags from ../m4/sim_ac_option_warnings.m4.
Run compile tests against each flag.
* configure: Regenerate.
2021-06-29 Mike Frysinger <vapier@gentoo.org>
* main.c (sim_io_error): Add comment

43
sim/ppc/configure vendored
View File

@ -3496,18 +3496,55 @@ else
fi
sim_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith
-Wno-unused -Wunused-value -Wunused-function
-Wno-switch -Wno-char-subscripts
-Wempty-body -Wunused-but-set-parameter
-Wno-error=maybe-uninitialized
-Wno-missing-declarations
-Wno-missing-prototypes
-Wdeclaration-after-statement -Wmissing-parameter-type
-Wno-pointer-sign
-Wold-style-declaration -Wold-style-definition
"
# Check whether --enable-sim-warnings was given.
if test "${enable_sim_warnings+set}" = set; then :
enableval=$enable_sim_warnings; case "${enableval}" in
yes) sim_warnings="-Werror -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations ";;
yes) ;;
no) sim_warnings="-w";;
*) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
esac
if test x"$silent" != x"yes" && test x"$sim_warnings" != x""; then
echo "Setting warning flags = $sim_warnings" 6>&1
fi
else
sim_warnings=""
fi
if test "x${sim_warnings}" != x -a "x$GCC" = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler warning flags" >&5
$as_echo_n "checking compiler warning flags... " >&6; }
build_warnings="${sim_warnings}"
sim_warnings=
for w in ${build_warnings}; do
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror $w"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
sim_warnings="${sim_warnings} $w"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$saved_CFLAGS"
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${sim_warnings}" >&5
$as_echo "${sim_warnings}" >&6; }
fi

View File

@ -430,16 +430,41 @@ if test x"$silent" != x"yes" && test x"$sim_timebase" != x""; then
fi],[sim_timebase=""])dnl
dnl TODO: Switch to common $(WARN_CFLAGS).
sim_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith
-Wno-unused -Wunused-value -Wunused-function
-Wno-switch -Wno-char-subscripts
-Wempty-body -Wunused-but-set-parameter
-Wno-error=maybe-uninitialized
-Wno-missing-declarations
-Wno-missing-prototypes
-Wdeclaration-after-statement -Wmissing-parameter-type
-Wno-pointer-sign
-Wold-style-declaration -Wold-style-definition
"
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
yes) sim_warnings="-Werror -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations ";;
yes) ;;
no) sim_warnings="-w";;
*) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
esac
if test x"$silent" != x"yes" && test x"$sim_warnings" != x""; then
echo "Setting warning flags = $sim_warnings" 6>&1
fi],[sim_warnings=""])dnl
fi])dnl
if test "x${sim_warnings}" != x -a "x$GCC" = xyes; then
AC_MSG_CHECKING(compiler warning flags)
build_warnings="${sim_warnings}"
sim_warnings=
for w in ${build_warnings}; do
dnl Check that GCC accepts it
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror $w"
AC_TRY_COMPILE([],[],sim_warnings="${sim_warnings} $w",)
CFLAGS="$saved_CFLAGS"
done
AC_MSG_RESULT(${sim_warnings})
fi
AC_ARG_ENABLE(sim-xor-endian,