Re: consider -Wmissing-variable-declarations
Peter Eisentraut <peter@eisentraut.org>
Attachments
- v3-0001-Include-bison-header-files-into-implementation-fi.patch (text/plain) patch v3-0001
- v3-0002-Add-Wmissing-variable-declarations-to-the-standar.patch (text/plain) patch v3-0002
I have committed all of the fixes that I had previously posted, but before actually activating the warning option, I found another small hiccup with the Bison files. Before Bison 3.4, the generated parser implementation files run afoul of -Wmissing-variable-declarations (in spite of commit ab61c40bfa2) because declarations for yylval and possibly yylloc are missing. The generated header files contain an extern declaration, but the implementation files don't include the header files. Since Bison 3.4, the generated implementation files automatically include the generated header files, so then it works. To make this work with older Bison versions as well, I made a patch to include the generated header file from the .y file. (With older Bison versions, the generated implementation file contains effectively a copy of the header file pasted in, so including the header file is redundant. But we know this works anyway because the core grammar uses this arrangement already.)
Commits
-
Use CXXFLAGS instead of CFLAGS for linking C++ code
- b9f7ceabd820 16.14 landed
- b6b7e96365eb 17.10 landed
- 41d75b9a4a1c 15.18 landed
- 231570d33581 14.23 landed
- 365b5a345b26 18.0 landed
-
Add -Wmissing-variable-declarations to the standard compilation flags
- 66188912566b 18.0 landed
-
Include bison header files into implementation files
- 9fb855fe1ae0 18.0 landed
-
Fix -Wmissing-variable-declarations warnings for float.c special case
- 37c6923cf3d8 18.0 landed
-
Add extern declarations for Bison global variables
- ab61c40bfa2b 18.0 landed
-
Move all extern declarations for GUC variables to header files
- 774d47b6c01a 18.0 landed
-
Move extern declarations for EXEC_BACKEND to header files
- d3cc5ffe81f6 18.0 landed
-
Get rid of a global variable
- 935e675f3c9e 18.0 landed
-
Add missing includes for some global variables
- 881455e57b12 18.0 landed
-
Convert some extern variables to static
- 720b0eaae9b8 18.0 landed
-
Improve some global variable declarations
- 8f8bcb88833e 18.0 landed
-
Remove useless extern keywords
- 3fb59e789dd9 18.0 landed