Re: Declaration fixes

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@postgresql.org
Date: 2022-05-12T18:38:39Z
Lists: pgsql-hackers
Hi,

On 2022-05-12 13:18:05 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I was experimenting with specifying symbol visiblity for functions explicitly,
> > i.e. adding PGDLLIMPORT markers for them, with the goal of getting rid of
> > src/tools/msvc/gendef.pl (and similar AIX stuff). While doing that I compared
> > the set of exported symbols before / after, leading me to find a few
> > pre-existing "issues".
> 
> > I think the attached patches are all a good idea and trivial enought that I
> > think we should apply them now.
> 
> +1 to all of that.

Cool.


> Would the changes you're working on result in getting
> warnings for these sorts of oversights on mainstream compilers?

I assume with "mainstream compiler" you basically mean gcc and clang? If so,
some oversights would be hard errors, some warnings, some runtime (i.e. symbol
not found errors when loading extension library) but some others unfortunately
would continue to only be visible in msvc :(.

Greetings,

Andres Freund



Commits

  1. Add 'static' to file-local variables missing it.

  2. Add missing 'extern' to function prototypes.

  3. Add missing binary_upgrade.h includes.

  4. Remove function declaration for function in pg_proc.