diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-09-30 16:24:56 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-09-30 16:24:56 -0400 |
commit | 0aa1e0ef167d05a9ec66958b8784d72becf9303d (patch) | |
tree | 4eeb4828c42109f0a3c1ff445c3ab422333574af /src/backend/utils/adt/datum.c | |
parent | 8256d7ae9ee3f8fec4bbe763b042b62d684e623f (diff) | |
download | postgresql-0aa1e0ef167d05a9ec66958b8784d72becf9303d.tar.gz postgresql-0aa1e0ef167d05a9ec66958b8784d72becf9303d.zip |
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
Diffstat (limited to 'src/backend/utils/adt/datum.c')
0 files changed, 0 insertions, 0 deletions