Explorar el Código

r19003@catbus: nickm | 2008-03-21 15:13:57 -0400
Make --enable-gcc-warnings work under the recently released GCC 4.3.


svn:r14149

Nick Mathewson hace 16 años
padre
commit
64f38f217a
Se han modificado 2 ficheros con 17 adiciones y 1 borrados
  1. 3 0
      ChangeLog
  2. 14 1
      configure.in

+ 3 - 0
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

+ 14 - 1
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