From d5c0351055d5709da8f3e16c91348092fdb481aa Mon Sep 17 00:00:00 2001 From: Marcel Raad Date: Mon, 9 Jul 2018 18:38:23 +0200 Subject: [PATCH] configure: conditionally enable pedantic-errors Enable pedantic-errors for GCC >= 5 with --enable-werror. Before GCC 5, pedantic-errors was synonymous to -Werror=pedantic [0], which is still the case for clang [1]. With GCC 5, it became complementary [2]. Also fix a resulting error in acinclude.m4 as main's return type was missing, which is illegal in C99. [0] https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Warning-Options.html [1] https://clang.llvm.org/docs/UsersManual.html#options-to-control-error-and-warning-messages [2] https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Warning-Options.html Closes https://github.com/curl/curl/pull/2747 --- acinclude.m4 | 2 +- configure.ac | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/acinclude.m4 b/acinclude.m4 index f32e86cda..355ee3a61 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -2158,7 +2158,7 @@ AC_DEFUN([CURL_VERIFY_RUNTIMELIBS], [ dnl point also is available run-time! AC_MSG_CHECKING([run-time libs availability]) CURL_RUN_IFELSE([ -main() +int main() { return 0; } diff --git a/configure.ac b/configure.ac index 18b7ae0f1..ff8f5df9b 100755 --- a/configure.ac +++ b/configure.ac @@ -61,6 +61,13 @@ AC_SUBST(CONFIGURE_OPTIONS) CURL_CFLAG_EXTRAS="" if test X"$want_werror" = Xyes; then CURL_CFLAG_EXTRAS="-Werror" + if test "$compiler_id" = "GNU_C"; then + dnl enable -pedantic-errors for GCC 5 and later, + dnl as before that it was the same as -Werror=pedantic + if test "$compiler_num" -ge "500"; then + CURL_CFLAG_EXTRAS="$CURL_CFLAG_EXTRAS -pedantic-errors" + fi + fi fi AC_SUBST(CURL_CFLAG_EXTRAS)