]> granicus.if.org Git - postgresql/commit
Clean up *printf macros to avoid conflict with format archetypes.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Sep 2018 21:35:01 +0000 (17:35 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Sep 2018 21:35:01 +0000 (17:35 -0400)
commit8b91d258844afa58e856ac354f9ba9745ff9ffb2
tree27036ef0901cc574352ef9276d2c056940a34740
parenta6b88d682cbec73474a73c9782fb7096e9440a8b
Clean up *printf macros to avoid conflict with format archetypes.

We must define the macro "printf" with arguments, else it can mess
up format archetype attributes in builds where PG_PRINTF_ATTRIBUTE
is just "printf".  Fortunately, that's easy to do now that we're
requiring C99; we can use __VA_ARGS__.

On the other hand, it's better not to use __VA_ARGS__ for the rest
of the *printf crew, so that one can take the addresses of those
functions without surprises.

I'd proposed doing this some time ago, but forgot to make it happen;
buildfarm failures subsequent to 96bf88d52 reminded me.

Discussion: https://postgr.es/m/22709.1535135640@sss.pgh.pa.us
Discussion: https://postgr.es/m/20180926190934.ea4xvzhkayuw7gkx@alap3.anarazel.de
src/include/port.h
src/pl/plperl/plperl.h
src/pl/plpython/plpython.h