diff options
-rw-r--r-- | configure.ac | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 33c8eca434..93aa3e1720 100644 --- a/configure.ac +++ b/configure.ac @@ -442,7 +442,6 @@ AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas) -AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long) @@ -471,6 +470,31 @@ foo(int a) ], [warns about variables in function declarations shadowing other variables]) +# Unfortunately some versions of gcc generate logical-op warnings when strchr() +# is given a constant seperators list. +# gcc versions 4.3.2 and 4.4.5 are known to have the problem. +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op, C, + [ +#include <string.h> + +int +foo(char *sep, int c) +{ + if (strchr (sep, c) != NULL) + return 1; + else + return 0; +} + +int +main(int argc, char **argv) +{ + return foo(\"<\", 'a'); +} + ], + [generates warnings from strchr()]) + + ## AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-error=unused-but-set-variable) # |