pgsql: Fix detection of the result type of strerror_r().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix detection of the result type of strerror_r().
Date: 2018-09-30 20:25:22
Message-ID: E1g6iHK-000699-0x@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix detection of the result type of strerror_r().

The method we've traditionally used, of redeclaring strerror_r() to
see if the compiler complains of inconsistent declarations, turns out
not to work reliably because some compilers only report a warning,
not an error. Amazingly, this has gone undetected for years, even
though it certainly breaks our detection of whether strerror_r
succeeded.

Let's instead test whether the compiler will take the result of
strerror_r() as a switch() argument. It's possible this won't
work universally either, but it's the best idea I could come up with
on the spur of the moment.

Back-patch of commit 751f532b9. Buildfarm results indicate that only
icc-on-Linux actually has an issue here; perhaps the lack of field
reports indicates that people don't build PG for production that way.

Discussion: https://postgr.es/m/10877.1537993279@sss.pgh.pa.us

Branch
------
REL9_3_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/08aad3c81effab6307b436de54f5ccbe7a9b9a6e

Modified Files
--------------
config/c-library.m4 | 19 ++++++++++---------
configure | 12 +++++-------
src/include/pg_config.h.in | 2 +-
src/include/pg_config.h.win32 | 2 +-
4 files changed, 17 insertions(+), 18 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2018-10-01 12:13:47 pgsql: doc: Clarify CREATE TABLESPACE documentation
Previous Message Tom Lane 2018-09-30 17:55:57 pgsql: Create an RTE field to record the query's lock mode for each rel