summaryrefslogtreecommitdiff
path: root/sim/or1k
diff options
context:
space:
mode:
Diffstat (limited to 'sim/or1k')
-rw-r--r--sim/or1k/ChangeLog5
-rwxr-xr-xsim/or1k/configure109
-rw-r--r--sim/or1k/configure.ac1
3 files changed, 113 insertions, 2 deletions
diff --git a/sim/or1k/ChangeLog b/sim/or1k/ChangeLog
index 1b7e6e2c177..016ffd039cf 100644
--- a/sim/or1k/ChangeLog
+++ b/sim/or1k/ChangeLog
@@ -1,5 +1,10 @@
2021-01-11 Mike Frysinger <vapier@gentoo.org>
+ * configure.ac: Call SIM_AC_OPTION_WARNINGS.
+ * configure: Regenerate.
+
+2021-01-11 Mike Frysinger <vapier@gentoo.org>
+
* sim-main.h: Include config.h.
2021-01-11 Mike Frysinger <vapier@gentoo.org>
diff --git a/sim/or1k/configure b/sim/or1k/configure
index 538011c2ad1..8d8746e4e9a 100755
--- a/sim/or1k/configure
+++ b/sim/or1k/configure
@@ -788,6 +788,9 @@ enable_sim_alignment
enable_sim_bitsize
enable_sim_scache
enable_sim_default_model
+enable_werror
+enable_build_warnings
+enable_sim_build_warnings
enable_cgen_maint
'
ac_precious_vars='build_alias
@@ -1448,6 +1451,11 @@ Optional Features:
Specify simulator execution cache size
--enable-sim-default-model=model
Specify default model to simulate
+ --enable-werror treat compile warnings as errors
+ --enable-build-warnings enable build-time compiler warnings if gcc is used
+ --enable-sim-build-warnings
+ enable SIM specific build-time compiler warnings if
+ gcc is used
--enable-cgen-maint=DIR build cgen generated files
Optional Packages:
@@ -12934,7 +12942,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12937 "configure"
+#line 12945 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13040,7 +13048,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13043 "configure"
+#line 13051 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13777,6 +13785,103 @@ fi
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror; case "${enableval}" in
+ yes | y) ERROR_ON_WARNING="yes" ;;
+ no | n) ERROR_ON_WARNING="no" ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+ esac
+fi
+
+
+# Enable -Werror by default when using gcc
+if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
+ ERROR_ON_WARNING=yes
+fi
+
+WERROR_CFLAGS=""
+
+build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
+-Wpointer-sign \
+-Wno-unused -Wunused-value -Wunused-function \
+-Wno-switch -Wno-char-subscripts -Wmissing-prototypes
+-Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type \
+-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*) build_warnings="$build_warnings -Wno-format" ;;
+ *) build_warnings="$build_warnings -Wformat-nonliteral" ;;
+esac
+
+# Check whether --enable-build-warnings was given.
+if test "${enable_build_warnings+set}" = set; then :
+ enableval=$enable_build_warnings; case "${enableval}" in
+ yes) ;;
+ no) build_warnings="-w";;
+ ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ build_warnings="${build_warnings} ${t}";;
+ *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ build_warnings="${t} ${build_warnings}";;
+ *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+esac
+if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
+ echo "Setting compiler warning flags = $build_warnings" 6>&1
+fi
+fi
+# Check whether --enable-sim-build-warnings was given.
+if test "${enable_sim_build_warnings+set}" = set; then :
+ enableval=$enable_sim_build_warnings; case "${enableval}" in
+ yes) ;;
+ no) build_warnings="-w";;
+ ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ build_warnings="${build_warnings} ${t}";;
+ *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ build_warnings="${t} ${build_warnings}";;
+ *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+esac
+if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
+ echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
+fi
+fi
+WARN_CFLAGS=""
+if test "x${build_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; }
+ # Separate out the -Werror flag as some files just cannot be
+ # compiled with it enabled.
+ for w in ${build_warnings}; do
+ case $w in
+ -Werr*) WERROR_CFLAGS=-Werror ;;
+ *) # Check that GCC accepts it
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $w"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ WARN_CFLAGS="${WARN_CFLAGS} $w"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$saved_CFLAGS"
+ esac
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${WARN_CFLAGS} ${WERROR_CFLAGS}" >&5
+$as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; }
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default sim environment setting" >&5
$as_echo_n "checking default sim environment setting... " >&6; }
sim_environment="ALL_ENVIRONMENT"
diff --git a/sim/or1k/configure.ac b/sim/or1k/configure.ac
index aa7c4004fe5..19a1da319bc 100644
--- a/sim/or1k/configure.ac
+++ b/sim/or1k/configure.ac
@@ -9,6 +9,7 @@ SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
SIM_AC_OPTION_BITSIZE([32], [31], [32])
SIM_AC_OPTION_SCACHE(16384)
SIM_AC_OPTION_DEFAULT_MODEL([or1200])
+SIM_AC_OPTION_WARNINGS(no)
SIM_AC_OPTION_ENVIRONMENT
SIM_AC_OPTION_INLINE()
SIM_AC_OPTION_CGEN_MAINT