Thread
Commits
-
Add 'static' to file-local variables missing it.
- 09cd33f47bb3 15.0 landed
-
Add missing 'extern' to function prototypes.
- 905c020bef99 15.0 landed
-
Add missing binary_upgrade.h includes.
- 0699b1ae2d8e 15.0 landed
-
Remove function declaration for function in pg_proc.
- 07d683b54af8 15.0 landed
-
Declaration fixes
Andres Freund <andres@anarazel.de> — 2022-05-12T16:45:13Z
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
-
Re: Declaration fixes
Tom Lane <tgl@sss.pgh.pa.us> — 2022-05-12T17:18:05Z
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
Andres Freund <andres@anarazel.de> — 2022-05-12T18:38:39Z
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
Andres Freund <andres@anarazel.de> — 2022-05-12T19:44:25Z
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.