Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: David Rowley <dgrowleyml@gmail.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Andres Freund <andres@anarazel.de>, joseph.ayers@crunchydata.com, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2020-11-25T01:28:23Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
>> On Wed, 25 Nov 2020 at 04:55, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> walleye's been failing since this patchset went in:
>>> I have no idea what to make of that, but it looks more like a compiler bug
>>> than anything else.

> 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.

Wait ... the second part of that doesn't seem to be true.
According to

http://mingw-w64.org/doku.php/versions

mingw-w64 has made at least three releases since this
bug was fixed.  Surely they're shipping something newer
than 8.1.0 by now.

So maybe, rather than hacking up the attribute stuff for
a bug that might bite us again anyway in future, we ought
to press walleye's owner to install a more recent compiler.

			regards, tom lane



Commits

  1. Stop gap fix for __attribute__((cold)) compiler bug in MinGW 8.1

  2. Tidy up definitions of pg_attribute_hot and pg_attribute_cold

  3. Fix unportable usage of __has_attribute

  4. Improve compiler code layout in elog/ereport ERROR calls

  5. Define pg_attribute_cold and pg_attribute_hot macros