diff --git a/configure b/configure index f9900a41b9346dcaa2c7c0c6e0f1dae8c6c31477..83821c42c4570499c112770ec2e4d22ea765e00d 100755 --- a/configure +++ b/configure @@ -5518,6 +5518,47 @@ if test x"$pgac_cv_prog_cc_cflags__ftree_vectorize" = x"yes"; then CFLAGS_VECTOR="${CFLAGS_VECTOR} -ftree-vectorize" fi + # We want to suppress clang's unhelpful unused-command-line-argument warnings + # but gcc won't complain about unrecognized -Wno-foo switches, so we have to + # test for the positive form and if that works, add the negative form + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wunused-command-line-argument" >&5 +$as_echo_n "checking whether $CC supports -Wunused-command-line-argument... " >&6; } +if ${pgac_cv_prog_cc_cflags__Wunused_command_line_argument+:} false; then : + $as_echo_n "(cached) " >&6 +else + pgac_save_CFLAGS=$CFLAGS +CFLAGS="$pgac_save_CFLAGS -Wunused-command-line-argument" +ac_save_c_werror_flag=$ac_c_werror_flag +ac_c_werror_flag=yes +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv_prog_cc_cflags__Wunused_command_line_argument=yes +else + pgac_cv_prog_cc_cflags__Wunused_command_line_argument=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_c_werror_flag=$ac_save_c_werror_flag +CFLAGS="$pgac_save_CFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_cc_cflags__Wunused_command_line_argument" >&5 +$as_echo "$pgac_cv_prog_cc_cflags__Wunused_command_line_argument" >&6; } +if test x"$pgac_cv_prog_cc_cflags__Wunused_command_line_argument" = x"yes"; then + NOT_THE_CFLAGS="${NOT_THE_CFLAGS} -Wunused-command-line-argument" +fi + + if test -n "$NOT_THE_CFLAGS"; then + CFLAGS="$CFLAGS -Wno-unused-command-line-argument" + fi elif test "$ICC" = yes; then # Intel's compiler has a bug/misoptimization in checking for # division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS. diff --git a/configure.in b/configure.in index 16bf8a123f1954c054abf57b7dffa34a20e75a87..0d57e9dca0e1e7477a58c3061e06230afb89c88f 100644 --- a/configure.in +++ b/configure.in @@ -516,6 +516,13 @@ if test "$GCC" = yes -a "$ICC" = no; then # Optimization flags for specific files that benefit from vectorization PGAC_PROG_CC_VAR_OPT(CFLAGS_VECTOR, [-funroll-loops]) PGAC_PROG_CC_VAR_OPT(CFLAGS_VECTOR, [-ftree-vectorize]) + # We want to suppress clang's unhelpful unused-command-line-argument warnings + # but gcc won't complain about unrecognized -Wno-foo switches, so we have to + # test for the positive form and if that works, add the negative form + PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wunused-command-line-argument]) + if test -n "$NOT_THE_CFLAGS"; then + CFLAGS="$CFLAGS -Wno-unused-command-line-argument" + fi elif test "$ICC" = yes; then # Intel's compiler has a bug/misoptimization in checking for # division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS.