Re: consider -Wmissing-variable-declarations

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers <pgsql-hackers@postgresql.org>, Heikki Linnakangas <hlinnaka@iki.fi>
Date: 2024-08-30T07:27:05Z
Lists: pgsql-hackers
On 28.08.24 05:31, Thomas Munro wrote:
> On Wed, Jun 19, 2024 at 3:02 AM Andres Freund <andres@anarazel.de> wrote:
>>> -const char *EAN13_range[][2] = {
>>> +static const char *EAN13_range[][2] = {
>>>        {"000", "019"},                         /* GS1 US */
>>>        {"020", "029"},                         /* Restricted distribution (MO defined) */
>>>        {"030", "039"},                         /* GS1 US */
>>
>>> -const char *ISBN_range[][2] = {
>>> +static const char *ISBN_range[][2] = {
>>>        {"0-00", "0-19"},
>>>        {"0-200", "0-699"},
>>>        {"0-7000", "0-8499"},
>>> @@ -967,7 +967,7 @@ const char *ISBN_range[][2] = {
>>>    */
> 
> FYI these ones generate -Wunused-variable warnings from headerscheck
> on CI, though it doesn't fail the task.  Hmm, these aren't really
> headers, are they?

Yes, it looks like these ought to be excluded from checking:

diff --git a/src/tools/pginclude/headerscheck 
b/src/tools/pginclude/headerscheck
index 436e2b92a33..3fc737d2cc1 100755
--- a/src/tools/pginclude/headerscheck
+++ b/src/tools/pginclude/headerscheck
@@ -138,6 +138,12 @@ do
     test "$f" = src/pl/tcl/pltclerrcodes.h && continue

     # Also not meant to be included standalone.
+   test "$f" = contrib/isn/EAN13.h && continue
+   test "$f" = contrib/isn/ISBN.h && continue
+   test "$f" = contrib/isn/ISMN.h && continue
+   test "$f" = contrib/isn/ISSN.h && continue
+   test "$f" = contrib/isn/UPC.h && continue
+
     test "$f" = src/include/common/unicode_nonspacing_table.h && continue
     test "$f" = src/include/common/unicode_east_asian_fw_table.h && 
continue




Commits

  1. Use CXXFLAGS instead of CFLAGS for linking C++ code

  2. Add -Wmissing-variable-declarations to the standard compilation flags

  3. Include bison header files into implementation files

  4. Fix -Wmissing-variable-declarations warnings for float.c special case

  5. Add extern declarations for Bison global variables

  6. Move all extern declarations for GUC variables to header files

  7. Move extern declarations for EXEC_BACKEND to header files

  8. Get rid of a global variable

  9. Add missing includes for some global variables

  10. Convert some extern variables to static

  11. Improve some global variable declarations

  12. Remove useless extern keywords