OK, try sorting the compiler options.

Also, comment out the addition of -Wno-deprecated-declarations, as the
CMake build doesn't use it.

If this succeeds in making the autotools and CMake builds compile C code
with the same -W and -f flags in the same order, that should eliminate
at least one reason why the CMake build produces compiler warnings that
the autotools build doesn't.

Change-Id: I0eaeae91b8e3c39c53f502daef86c2d103c8bdab
Reviewed-on: https://code.wireshark.org/review/3374
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2014-08-02 17:46:32 -07:00
parent 2dd269091e
commit 5234d4c2d0
2 changed files with 15 additions and 13 deletions

View File

@ -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

View File

@ -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