mirror of
https://github.com/postgres/postgres.git
synced 2026-03-22 18:33:19 -04:00
Enable -Wstrict-prototypes and -Wold-style-definition by default
Those are available in all gcc and clang versions that support C11 and as C11 is required as off5e0186f86, then we can add them without capability test. Having them enabled by default avoid having to chase these manually like11171fe1fc,cdf4b9aff2,0e72b9d440,7069dbcc31,f1283ed6cc,7b66e2c086,e95126cf04and9f7c527af3have done. Also, readline headers trigger a lot of warnings with -Wstrict-prototypes, so we make use of the system_header pragma to hide the warnings. Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> Discussion: https://postgr.es/m/13d51b20-a69c-4ac1-8546-ec4fc278064f%40eisentraut.org Discussion: https://postgr.es/m/aTFctZwWSpl2/LG5%40ip-10-97-1-34.eu-west-3.compute.internal
This commit is contained in:
parent
9b406a9e48
commit
29bf4ee749
4 changed files with 27 additions and 0 deletions
8
configure
vendored
8
configure
vendored
|
|
@ -16986,6 +16986,14 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
|||
fi
|
||||
|
||||
|
||||
# These flags are supported in all C11-capable GCC/Clang versions,
|
||||
# so no capability test is needed. Added here to avoid affecting configure probes,
|
||||
# particularly PGAC_PRINTF_ARCHETYPE which uses -Werror and would fail to detect
|
||||
# gnu_printf if -Wstrict-prototypes is active.
|
||||
if test "$GCC" = yes -a "$ICC" = no; then
|
||||
CFLAGS="$CFLAGS -Wstrict-prototypes -Wold-style-definition"
|
||||
fi
|
||||
|
||||
# --------------------
|
||||
# Run tests below here
|
||||
# --------------------
|
||||
|
|
|
|||
|
|
@ -2027,6 +2027,14 @@ related to locating shared libraries. Check the file 'config.log'
|
|||
for the exact reason.]])],
|
||||
[AC_MSG_RESULT([cross-compiling])])
|
||||
|
||||
# These flags are supported in all C11-capable GCC/Clang versions,
|
||||
# so no capability test is needed. Added here to avoid affecting configure probes,
|
||||
# particularly PGAC_PRINTF_ARCHETYPE which uses -Werror and would fail to detect
|
||||
# gnu_printf if -Wstrict-prototypes is active.
|
||||
if test "$GCC" = yes -a "$ICC" = no; then
|
||||
CFLAGS="$CFLAGS -Wstrict-prototypes -Wold-style-definition"
|
||||
fi
|
||||
|
||||
# --------------------
|
||||
# Run tests below here
|
||||
# --------------------
|
||||
|
|
|
|||
|
|
@ -2253,6 +2253,8 @@ if cc.has_argument('-Wmissing-variable-declarations')
|
|||
cflags_no_missing_var_decls += '-Wno-missing-variable-declarations'
|
||||
endif
|
||||
|
||||
# These are C-only flags, supported in all C11-capable GCC/Clang versions.
|
||||
cflags_warn += cc.get_supported_arguments(['-Wstrict-prototypes', '-Wold-style-definition'])
|
||||
|
||||
# The following tests want to suppress various unhelpful warnings by adding
|
||||
# -Wno-foo switches. But gcc won't complain about unrecognized -Wno-foo
|
||||
|
|
|
|||
|
|
@ -17,6 +17,15 @@
|
|||
#ifdef HAVE_LIBREADLINE
|
||||
#define USE_READLINE 1
|
||||
|
||||
/*
|
||||
* Readline headers trigger a lot of warnings with our preferred compiler flags
|
||||
* (at least -Wstrict-prototypes is known to be problematic). The system_header
|
||||
* pragma hides warnings from within the rest of this file, if supported.
|
||||
*/
|
||||
#ifdef HAVE_PRAGMA_GCC_SYSTEM_HEADER
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_READLINE_READLINE_H)
|
||||
#include <readline/readline.h>
|
||||
#if defined(HAVE_READLINE_HISTORY_H)
|
||||
|
|
|
|||
Loading…
Reference in a new issue