Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path
Date
Msg-id 310247.1606252319@sss.pgh.pa.us
Whole thread Raw
In response to Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> On 2020-Nov-24, Tom Lane wrote:
>> I'd make any such fix as narrow as possible (ie MINGW64 only, based on
>> present evidence).  It'd be nice to have a compiler version upper bound
>> too, in the hopes that they'd fix it in future.  Maybe something like
>> "#if defined(__MINGW64__) && defined(__GNUC__) && __GNUC__ <= 8" ?

> Apparently the bug was fixed days after it was reported,
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86048
> but they haven't made a release containing the fix yet.

Ah, great sleuthing!  So that says it occurs in 8.1 only, meaning
the version test could be like

#if defined(__MINGW64__) && __GNUC__ == 8 && __GNUC_MINOR__ == 1
// lobotomized code here
#else ...

It's not entirely clear from that bug report whether it can manifest on
gcc 8.1 on other platforms; maybe we should test for x86 in general
not __MINGW64__.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Re: libpq compression
Next
From: Alvaro Herrera
Date:
Subject: Re: remove spurious CREATE INDEX CONCURRENTLY wait