diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2015-04-05 13:01:55 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2015-04-05 13:01:59 -0400 |
commit | 73b416b2e41237b657d29d8f42a4bb34bf700928 (patch) | |
tree | 1a9a645cec7c031ecc5e20c9534f023fae4faa12 | |
parent | e8fde1f6a0495d52ddfe46e38e9f281fc11400c9 (diff) | |
download | postgresql-73b416b2e41237b657d29d8f42a4bb34bf700928.tar.gz postgresql-73b416b2e41237b657d29d8f42a4bb34bf700928.zip |
Suppress clang's unhelpful gripes about -pthread switch being unused.
Considering the number of cases in which "unused" command line arguments
are silently ignored by compilers, it's fairly astonishing that anybody
thought this warning was useful; it's certainly nothing but an annoyance
when building Postgres. One such case is that neither gcc nor clang
complain about unrecognized -Wno-foo switches, making it more difficult
to figure out whether the switch does anything than one could wish.
Back-patch to 9.3, which is as far back as the patch applies conveniently
(we'd have to back-patch PGAC_PROG_CC_VAR_OPT to go further, and it doesn't
seem worth that).
-rwxr-xr-x | configure | 41 | ||||
-rw-r--r-- | configure.in | 7 |
2 files changed, 48 insertions, 0 deletions
diff --git a/configure b/configure index 2c9b3a7c710..640ffc764e1 100755 --- a/configure +++ b/configure @@ -4723,6 +4723,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 b2c1ce71d23..1f958cff1a8 100644 --- a/configure.in +++ b/configure.in @@ -445,6 +445,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. |