On Fri, Aug 24, 2012 at 10:08:58AM -0400, Tom Lane wrote:
> Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes:
> > On 23.08.2012 23:07, Alvaro Herrera wrote:
> >> One problem with this is that I get this warning:
> >> /pgsql/source/HEAD/contrib/pg_upgrade/exec.c: In function ‘s_exec_prog’:
> >> /pgsql/source/HEAD/contrib/pg_upgrade/exec.c:96:2: warning: function might 
> >> be possible candidate for ‘gnu_printf’ format attribute 
> >> [-Wmissing-format-attribute]
> >> /pgsql/source/HEAD/contrib/pg_upgrade/exec.c:96:2: warning: function might 
> >> be possible candidate for ‘gnu_printf’ format attribute 
> >> [-Wmissing-format-attribute]
> >> 
> >> I have no idea how to silence that.  Ideas?
> 
> > You can do what the warning suggests, and tell the compiler that 
> > exec_prog takes printf-like arguments.
> 
> exec_prog already has such decoration, and Alvaro's patch doesn't remove
> it.  So the question is, exactly what the heck does that warning mean?

It sounds like it is suggestioning to use more specific attribute
decoration.  This might be relevant:

        http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
        
        -Wmissing-format-attribute
            Warn about function pointers that might be candidates for format
        attributes. Note these are only possible candidates, not absolute ones.
        GCC guesses that function pointers with format attributes that are used
        in assignment, initialization, parameter passing or return statements
        should have a corresponding format attribute in the resulting type. I.e.
        the left-hand side of the assignment or initialization, the type of the
        parameter variable, or the return type of the containing function
        respectively should also have a format attribute to avoid the warning.
        
            GCC also warns about function definitions that might be candidates
        for format attributes. Again, these are only possible candidates. GCC
        guesses that format attributes might be appropriate for any function
        that calls a function like vprintf or vscanf, but this might not always
        be the case, and some functions for which format attributes are
        appropriate may not be detected. 

and I see this option enabled in configure.in.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to