• Tom Lane's avatar
    Try another way to detect the result type of strerror_r(). · 751f532b
    Tom Lane authored
    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.
    
    We should probably back-patch this once the dust settles, but
    first let's see what the buildfarm thinks of it.
    
    Discussion: https://postgr.es/m/10877.1537993279@sss.pgh.pa.us
    751f532b
c-library.m4 7.41 KB