mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 06:48:05 +01:00
Make advisory-warnings on by default.
Add --enable-fatal-warnings to control -Werror. Closes ticket 19044.
This commit is contained in:
parent
5b7d4b0cea
commit
2fa7a3af4c
2 changed files with 21 additions and 10 deletions
5
changes/19044
Normal file
5
changes/19044
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
o Minor features (compilation):
|
||||||
|
- Our big list of extra GCC warnings is now enabled by default when
|
||||||
|
building with GCC (or with anything like Clang that claims to be
|
||||||
|
GCC-compatible). To make all warnings into fatal compilation errors,
|
||||||
|
pass --enable-fatal-warnings to configure. Closes ticket 19044.
|
26
configure.ac
26
configure.ac
|
@ -143,9 +143,11 @@ case "$host" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_ARG_ENABLE(gcc-warnings,
|
AC_ARG_ENABLE(gcc-warnings,
|
||||||
AS_HELP_STRING(--enable-gcc-warnings, [enable verbose warnings]))
|
AS_HELP_STRING(--enable-gcc-warnings, [deprecated alias for enable-fatal-warnings]))
|
||||||
|
AC_ARG_ENABLE(fatal-warnings,
|
||||||
|
AS_HELP_STRING(--enable-fatal-warnings, [tell the compiler to treat all warnings as errors.]))
|
||||||
AC_ARG_ENABLE(gcc-warnings-advisory,
|
AC_ARG_ENABLE(gcc-warnings-advisory,
|
||||||
AS_HELP_STRING(--enable-gcc-warnings-advisory, [enable verbose warnings, excluding -Werror]))
|
AS_HELP_STRING(--disable-gcc-warnings-advisory, [disable the regular verbose warnings]))
|
||||||
|
|
||||||
dnl Others suggest '/gs /safeseh /nxcompat /dynamicbase' for non-gcc on Windows
|
dnl Others suggest '/gs /safeseh /nxcompat /dynamicbase' for non-gcc on Windows
|
||||||
AC_ARG_ENABLE(gcc-hardening,
|
AC_ARG_ENABLE(gcc-hardening,
|
||||||
|
@ -1635,6 +1637,12 @@ else
|
||||||
enable_gcc_warnings_advisory=no
|
enable_gcc_warnings_advisory=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Warnings implies advisory-warnings and -Werror.
|
||||||
|
if test "$enable_gcc_warnings" = "yes"; then
|
||||||
|
enable_gcc_warnings_advisory=yes
|
||||||
|
enable_fatal_warnings=yes
|
||||||
|
fi
|
||||||
|
|
||||||
# OS X Lion started deprecating the system openssl. Let's just disable
|
# OS X Lion started deprecating the system openssl. Let's just disable
|
||||||
# all deprecation warnings on OS X. Also, to potentially make the binary
|
# all deprecation warnings on OS X. Also, to potentially make the binary
|
||||||
# a little smaller, let's enable dead_strip.
|
# a little smaller, let's enable dead_strip.
|
||||||
|
@ -1647,8 +1655,7 @@ esac
|
||||||
|
|
||||||
# Add some more warnings which we use in development but not in the
|
# Add some more warnings which we use in development but not in the
|
||||||
# released versions. (Some relevant gcc versions can't handle these.)
|
# released versions. (Some relevant gcc versions can't handle these.)
|
||||||
if test "x$enable_gcc_warnings" = "xyes" ||
|
if test "x$enable_gcc_warnings_advisory" != "xno"; then
|
||||||
test "x$enable_gcc_warnings_advisory" = "xyes"; then
|
|
||||||
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
|
||||||
#if !defined(__GNUC__) || (__GNUC__ < 4)
|
#if !defined(__GNUC__) || (__GNUC__ < 4)
|
||||||
|
@ -1670,7 +1677,6 @@ if test "x$enable_gcc_warnings" = "xyes" ||
|
||||||
#error
|
#error
|
||||||
#endif])], have_gcc46=yes, have_gcc46=no)
|
#endif])], have_gcc46=yes, have_gcc46=no)
|
||||||
|
|
||||||
|
|
||||||
save_CFLAGS="$CFLAGS"
|
save_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -Wshorten-64-to-32"
|
CFLAGS="$CFLAGS -Wshorten-64-to-32"
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], have_shorten64_flag=yes,
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], have_shorten64_flag=yes,
|
||||||
|
@ -1692,10 +1698,6 @@ if test "x$enable_gcc_warnings" = "xyes" ||
|
||||||
CFLAGS="$CFLAGS -Wwrite-strings -Wmissing-declarations -Wredundant-decls"
|
CFLAGS="$CFLAGS -Wwrite-strings -Wmissing-declarations -Wredundant-decls"
|
||||||
CFLAGS="$CFLAGS -Wnested-externs -Wbad-function-cast -Wswitch-enum"
|
CFLAGS="$CFLAGS -Wnested-externs -Wbad-function-cast -Wswitch-enum"
|
||||||
|
|
||||||
if test "x$enable_gcc_warnings" = "xyes"; then
|
|
||||||
CFLAGS="$CFLAGS -Werror"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Disabled, so we can use mallinfo(): -Waggregate-return
|
# Disabled, so we can use mallinfo(): -Waggregate-return
|
||||||
|
|
||||||
if test "x$have_gcc4" = "xyes"; then
|
if test "x$have_gcc4" = "xyes"; then
|
||||||
|
@ -1732,7 +1734,11 @@ if test "x$enable_gcc_warnings" = "xyes" ||
|
||||||
CFLAGS="$CFLAGS -Wshorten-64-to-32"
|
CFLAGS="$CFLAGS -Wshorten-64-to-32"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_fatal_warnings" = "xyes"; then
|
||||||
|
# I'd like to use TOR_CHECK_CFLAGS here, but I can't, since the
|
||||||
|
# default autoconf programs are full of errors.
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
fi
|
||||||
|
|
||||||
##This will break the world on some 64-bit architectures
|
##This will break the world on some 64-bit architectures
|
||||||
# CFLAGS="$CFLAGS -Winline"
|
# CFLAGS="$CFLAGS -Winline"
|
||||||
|
|
Loading…
Add table
Reference in a new issue