On 04/27/2011 12:50 AM, Tom Lane wrote:
Andrew Dunstan<and...@dunslane.net>  writes:
All or almost all the warnings seen on Windows/Mingw of the type
"warning: unknown conversion type character 'm' in format" come from
checking of three functions: errmsg, elog and errdetail. I therefore
propose to disable the attribute checking of those three functions, on
Windows only (since that's the only place I've seen the warnings).
That's a much more conservative change than I made previously which
would have turned off all format warnings on Mingw, and along with
fixing the INT64_FORMAT (see email just sent) would fix the vast
majority of compiler warnings, so we'd be almost clean again on MinGW.
That seems to me to be throwing the baby out with the bathwater.
If Windows could be assumed to be just like every other platform,
we could maybe figure that being format-warning-free elsewhere
was sufficient checking; but that assumption is obviously wrong.

                


We're not doing anything about the warnings, and I'm not sure there's anything we can do other than suppress them or live with them.

The compiler is in fact quite correct, it doesn't know anything about "%m", and if we were ever to use %m in a context where we actually expected it to output the contents of strerror(errno) the warning would be lost among a huge pile of these other warnings where its use is harmless because we expand it ourselves. That strikes me as a more potent danger.

cheers

andrew



--
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