From 31872655ad257cadbf8805d0e94c0bae9696a746 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Sat, 17 Dec 2016 23:12:11 +0100 Subject: CMake,autotools: enable -Werror=implicit by default The -Wimplicit error covers two warnings, trying to catch these cases: Setting a global variable without declaring its type (-Wimplicit-int): undeclared_type = 1; More importantly, -Wimplicit-function-declaration catches the case where a function is not declared (missing header, programming error, etc.). Turn these warnings into errors, most likely it will be a programming error that results in a link failure anyway. See also https://fedoraproject.org/wiki/Changes/Fedora26CFlags Also fix autotools checks not to trigger -Wimplicit-int and -Wimplicit-function-declaration (in krb5 check due to missing include). Tested on Ubuntu 16.04 (autotools & cmake) and Arch Linux (cmake), configure/cmake output and config.h are identical. Change-Id: I137284263f3b1223df6e6a893111c3640802631f Reviewed-on: https://code.wireshark.org/review/19331 Petri-Dish: Peter Wu Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ef6af58dc4..5aaedbf7de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -429,6 +429,13 @@ else() # The Qt headers generate a ton of shortening errors on 64-bit systems # so only enable this for C for now. -Wshorten-64-to-32 + + # + # Implicit function declarations are an error in C++ and most + # likely a programming error in C. Turn -Wimplicit-int and + # -Wimplicit-function-declaration into an error by default. + # + -Werror=implicit ) set(CXX_WARN_FLAGS -- cgit v1.2.1