diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2024-08-03 11:42:37 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2024-08-03 11:51:02 +0200 |
commit | 66188912566b5614dff095ae86f4b1e06d58e875 (patch) | |
tree | 3c86ba7c2b967437b29f83eb49231f43577ac023 /configure.ac | |
parent | 7926a9a80f6daf0fcc1feb1bee5c51fd001bc173 (diff) | |
download | postgresql-66188912566b5614dff095ae86f4b1e06d58e875.tar.gz postgresql-66188912566b5614dff095ae86f4b1e06d58e875.zip |
Add -Wmissing-variable-declarations to the standard compilation flags
This warning flag detects global variables not declared in header
files. This is similar to what -Wmissing-prototypes does for
functions. (More correctly, it is similar to what
-Wmissing-declarations does for functions, but -Wmissing-prototypes is
a superset of that in C.)
This flag is new in GCC 14. Clang has supported it for a while.
Several recent commits have cleaned up warnings triggered by this, so
it should now be clean.
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/flat/e0a62134-83da-4ba4-8cdb-ceb0111c95ce@eisentraut.org
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 83f2307a621..049bc014911 100644 --- a/configure.ac +++ b/configure.ac @@ -518,6 +518,15 @@ if test "$GCC" = yes -a "$ICC" = no; then # This was included in -Wall/-Wformat in older GCC versions PGAC_PROG_CC_CFLAGS_OPT([-Wformat-security]) PGAC_PROG_CXX_CFLAGS_OPT([-Wformat-security]) + # gcc 14+, clang for a while + # (Supported in C++ by clang but not gcc. For consistency, omit in C++.) + save_CFLAGS=$CFLAGS + PGAC_PROG_CC_CFLAGS_OPT([-Wmissing-variable-declarations]) + PERMIT_MISSING_VARIABLE_DECLARATIONS= + if test x"$save_CFLAGS" != x"$CFLAGS"; then + PERMIT_MISSING_VARIABLE_DECLARATIONS=-Wno-missing-variable-declarations + fi + AC_SUBST(PERMIT_MISSING_VARIABLE_DECLARATIONS) # Disable strict-aliasing rules; needed for gcc 3.3+ PGAC_PROG_CC_CFLAGS_OPT([-fno-strict-aliasing]) PGAC_PROG_CXX_CFLAGS_OPT([-fno-strict-aliasing]) |