diff options
| author | Tom Lane | 2025-08-29 14:46:13 +0000 |
|---|---|---|
| committer | Tom Lane | 2025-08-29 14:46:13 +0000 |
| commit | 8722e7965fd24bf94c278fb86cab99d0c5360532 (patch) | |
| tree | 6b8052d9f418d1e0d29c7322733f368c56145a67 /src | |
| parent | da9f9f75e5ce27a45878ffa262156d18f0046188 (diff) | |
Silence -Wmissing-variable-declarations in headerscheck.
Newer gcc versions will emit warnings about missing extern
declarations if certain header files are compiled by themselves.
Add the "extern" declarations needed to quiet that.
Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/1127775.1754417387@sss.pgh.pa.us
Diffstat (limited to 'src')
| -rw-r--r-- | src/interfaces/ecpg/test/expected/preproc-strings.c | 15 | ||||
| -rw-r--r-- | src/interfaces/ecpg/test/preproc/strings.h | 10 | ||||
| -rw-r--r-- | src/tools/gen_keywordlist.pl | 11 |
3 files changed, 34 insertions, 2 deletions
diff --git a/src/interfaces/ecpg/test/expected/preproc-strings.c b/src/interfaces/ecpg/test/expected/preproc-strings.c index a26817968de..06a86a2bfae 100644 --- a/src/interfaces/ecpg/test/expected/preproc-strings.c +++ b/src/interfaces/ecpg/test/expected/preproc-strings.c @@ -18,6 +18,16 @@ #line 3 "strings.pgc" /* exec sql begin declare section */ #line 1 "strings.h" +/* redundant declaration to silence -Wmissing-variable-declarations */ + + + + + + + + + @@ -29,7 +39,10 @@ #line 5 "strings.pgc" -#line 1 "strings.h" +#line 2 "strings.h" + extern char * s1 , * s2 , * s3 , * s4 , * s5 , * s6 , * s7 , * s8 ; + +#line 11 "strings.h" char * s1 , * s2 , * s3 , * s4 , * s5 , * s6 , * s7 , * s8 ; /* exec sql end declare section */ #line 5 "strings.pgc" diff --git a/src/interfaces/ecpg/test/preproc/strings.h b/src/interfaces/ecpg/test/preproc/strings.h index edb5be5339e..8932b4ea9ed 100644 --- a/src/interfaces/ecpg/test/preproc/strings.h +++ b/src/interfaces/ecpg/test/preproc/strings.h @@ -1,3 +1,13 @@ +/* redundant declaration to silence -Wmissing-variable-declarations */ +extern char *s1, + *s2, + *s3, + *s4, + *s5, + *s6, + *s7, + *s8; + char *s1, *s2, *s3, diff --git a/src/tools/gen_keywordlist.pl b/src/tools/gen_keywordlist.pl index 6ec83ff33f9..bcb0d8027a0 100644 --- a/src/tools/gen_keywordlist.pl +++ b/src/tools/gen_keywordlist.pl @@ -169,7 +169,16 @@ printf $kwdef qq|static %s\n|, $f; # Emit the struct that wraps all this lookup info into one variable. -printf $kwdef "static " if !$extern; +if ($extern) +{ + # redundant declaration to silence -Wmissing-variable-declarations + printf $kwdef "extern PGDLLIMPORT const ScanKeywordList %s;\n\n", + $varname; +} +else +{ + printf $kwdef "static "; +} printf $kwdef "const ScanKeywordList %s = {\n", $varname; printf $kwdef qq|\t%s_kw_string,\n|, $varname; printf $kwdef qq|\t%s_kw_offsets,\n|, $varname; |
