Thread: Declaration fixes

Declaration fixes

From
Andres Freund
Date:
Hi,

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.

The changes are sufficiently obvious and/or explained in the commit messages.

Comments?

Greetings,

Andres Freund

Attachment

Re: Declaration fixes

From
Tom Lane
Date:
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.  Would the changes you're working on result in getting
warnings for these sorts of oversights on mainstream compilers?

            regards, tom lane



Re: Declaration fixes

From
Andres Freund
Date:
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



Re: Declaration fixes

From
Andres Freund
Date:
On 2022-05-12 11:38:39 -0700, Andres Freund wrote:
> On 2022-05-12 13:18:05 -0400, Tom Lane wrote:
> > Andres Freund <andres@anarazel.de> writes:
> > > 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.

Pushed them.