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
master
Tom Lane 2 weeks ago
parent da9f9f75e5
commit 8722e7965f
  1. 15
      src/interfaces/ecpg/test/expected/preproc-strings.c
  2. 10
      src/interfaces/ecpg/test/preproc/strings.h
  3. 11
      src/tools/gen_keywordlist.pl

@ -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"

@ -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,

@ -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;

Loading…
Cancel
Save