Thread

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.

  1. 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
    
  2. 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
    
    
    
    
  3. 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
    
    
    
    
  4. 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.