diff --git a/CMakeLists.txt b/CMakeLists.txt index e6fd590b61..eed1b2bea9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -206,6 +206,9 @@ else() -Wpointer-arith -Warray-bounds -Wformat-security + -fwrapv + -fno-strict-overflow + -fno-delete-null-pointer-checks -Wvla -Waddress -Wattributes @@ -216,9 +219,6 @@ else() -Wwrite-strings -Wno-long-long -Wheader-guard - -fwrapv - -fno-strict-overflow - -fno-delete-null-pointer-checks ) set(WIRESHARK_C_ONLY_FLAGS diff --git a/configure.ac b/configure.ac index d68ef628e6..dcacc6058d 100644 --- a/configure.ac +++ b/configure.ac @@ -805,21 +805,13 @@ AC_ARG_ENABLE(extra-compiler-warnings, AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall -W) # -W is now known as -Wextra AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra) # -W is now known as -Wextra -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdeclaration-after-statement, C) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith) -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Warray-bounds) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks) -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C) -# The Qt headers generate a ton of shortening errors on 64-bit systems -# so only enable this for C for now. -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C) -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C) -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes) @@ -829,9 +821,11 @@ AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wwrite-strings) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long) -AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C) AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard) +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C) +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdeclaration-after-statement, C) + # # XXX - OK for C++? # @@ -856,6 +850,10 @@ foo(int a) ], [warns about variables in function declarations shadowing other variables]) +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C) +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C) +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C) + # Unfortunately some versions of gcc generate logical-op warnings when strchr() # is given a constant string. # gcc versions 4.3.2 and 4.4.5 are known to have the problem. @@ -883,6 +881,10 @@ bar(void) ], [generates warnings from strchr()]) +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C) +# The Qt headers generate a ton of shortening errors on 64-bit systems +# so only enable this for C for now. +AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C) # # On OS X, suppress warnings about deprecated declarations, because @@ -894,7 +896,7 @@ bar(void) # case "$host_os" in darwin*) - AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-deprecated-declarations) +# AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-deprecated-declarations) ;; esac