postgresql/config
Tom Lane 3a60c8ff89 Distinguish printf-like functions that support %m from those that don't.
The elog/ereport family of functions certainly support the %m format spec,
because they implement it "by hand".  But elsewhere we have printf wrappers
that might or might not allow it depending on whether the platform's printf
does.  (Most non-glibc versions don't, and notably, src/port/snprintf.c
doesn't.)  Hence, rather than using the gnu_printf format archetype
interchangeably for all these functions, use it only for elog/ereport.
This will allow us to get compiler warnings for mistakes like the ones
fixed in commit a13b47a59, at least on platforms where printf doesn't
take %m and gcc is correctly configured to know it.  (Unfortunately,
that won't happen on Linux, nor on macOS according to my testing.
It remains to be seen what the buildfarm's gcc-on-Windows animals will
think of this, but we may well have to rely on less-popular platforms
to warn us about unportable code of this kind.)

Discussion: https://postgr.es/m/2975.1526862605@sss.pgh.pa.us
2018-08-11 11:11:05 -04:00
..
ac_func_accept_argtypes.m4 Remove some configure header-file checks that we weren't really using. 2017-02-25 18:10:09 -05:00
ax_prog_perl_modules.m4 Make configure check for IPC::Run when --enable-tap-tests is specified. 2017-06-15 15:56:12 -04:00
ax_pthread.m4 Update ax_pthread.m4 to an experimental draft version from upstream. 2015-07-30 14:14:50 +03:00
c-compiler.m4 Distinguish printf-like functions that support %m from those that don't. 2018-08-11 11:11:05 -04:00
c-library.m4 Remove configure's check for nonstandard "long long" printf modifiers. 2018-05-23 14:19:04 -04:00
config.guess Update config.guess and config.sub 2018-06-11 08:54:58 -04:00
config.sub Update config.guess and config.sub 2018-06-11 08:54:58 -04:00
docbook.m4 Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
general.m4 Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
install-sh Fix install-strip on Mac OS X 2012-08-21 23:42:43 -04:00
libtool.m4 Rename AC_PROG_LD* macros to PGAC_PROG_LD*. This avoids clashes with the 2004-07-17 18:53:56 +00:00
llvm.m4 LLVMJIT: Adapt to API changes in gdb and perf support. 2018-07-22 21:13:34 -07:00
Makefile Install our "missing" script where PGXS builds can find it. 2015-12-11 16:15:05 -05:00
missing Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
perl.m4 MSVC: Test whether 32-bit Perl needs -D_USE_32BIT_TIME_T. 2017-12-08 18:06:05 -08:00
pkg.m4 ICU support 2017-03-23 15:28:48 -04:00
prep_buildtree find -path is not portable, so use grep -v instead. 2010-10-25 10:04:00 -03:00
programs.m4 Further improve consistency of configure's program searching. 2017-08-01 11:40:08 -04:00
python.m4 Teach configure --with-python to report the Python version number. 2018-04-02 12:26:12 -04:00
tcl.m4 Further improve consistency of configure's program searching. 2017-08-01 11:40:08 -04:00