summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--configure.in15
2 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index beacecfd16..4b8ceeb573 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,9 @@ Changes in version 0.2.1.1-alpha - 2008-??-??
to avoid unused RAM in buffer chunks and memory pools.
- Downgrade "sslv3 alert handshake failure" message to INFO.
- Only log guard node status when guard node status has changed.
+ - Add a couple of extra warnings to --enable-gcc-warnings for GCC 4.3,
+ and stop using a warning that had become unfixably verbose under GCC
+ 4.3.
o Code simplifications and refactoring:
- Refactor code using connection_ap_handshake_attach_circuit() to
diff --git a/configure.in b/configure.in
index d2a568093e..2a153ddbbd 100644
--- a/configure.in
+++ b/configure.in
@@ -723,6 +723,11 @@ if test x$enable_gcc_warnings = xyes; then
#error
#endif]), have_gcc42=yes, have_gcc42=no)
+ AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], [
+#if !defined(__GNUC__) || (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
+#error
+#endif]), have_gcc43=yes, have_gcc43=no)
+
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wshorten-64-to-32"
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], []), have_shorten64_flag=yes,
@@ -730,6 +735,7 @@ if test x$enable_gcc_warnings = xyes; then
CFLAGS="$save_CFLAGS"
CFLAGS="$CFLAGS -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast -Wswitch-enum -Werror"
+
# Disabled, so we can use mallinfo(): -Waggregate-return
if test x$have_gcc4 = xyes ; then
@@ -741,7 +747,14 @@ if test x$enable_gcc_warnings = xyes; then
# These warnings break gcc 4.0.2 and work on gcc 4.2
# XXXX020 Use -fstack-protector.
# XXXX020 See if any of these work with earlier versions.
- CFLAGS="$CFLAGS -Waddress -Wmissing-noreturn -Wnormalized=id -Woverride-init -Wstrict-overflow=5"
+ CFLAGS="$CFLAGS -Waddress -Wmissing-noreturn -Wnormalized=id -Woverride-init -Wstrict-overflow=1"
+ # We used to use -Wstrict-overflow=5, but that breaks us heavily under 4.3.
+ fi
+
+ if test x$have_gcc43 = xyes ; then
+ # These warnings break gcc 4.2 and work on gcc 4.3
+ # XXXX020 See if any of these work with earlier versions.
+ CFLAGS="$CFLAGS -Wextra -Warray-bounds"
fi
if test x$have_shorten64_flag = xyes ; then