Re: Build failure with GCC 15 (defaults to -std=gnu23)

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Sam James <sam@gentoo.org>, pgsql-bugs@lists.postgresql.org
Date: 2024-11-18T01:30:38Z
Lists: pgsql-bugs

Attachments

On Mon, Nov 18, 2024 at 11:50 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thomas Munro <thomas.munro@gmail.com> writes:
> > It sounds like we should stop using the old and broken
> > AC_CHECK_HEADER_STDBOOL macro.
>
> Yeah, that's what I was imagining: assume that <stdbool.h> exists
> and works, and check only to see if sizeof(bool) is acceptable.

I think this is the minimal change, which I'd push back to 13 post-freeze.

I found a few lines we could just delete in master.  I wonder if we
should also just require sizeof(bool) == 1 more explicitly going
forward with an error, since we don't have coverage or any expectation
of ever getting any for the alternative code AFAICS, even if it is
small.

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Require sizeof(bool) == 1.

  2. If a C23 compiler is detected, try asking for C17.

  3. Fix C23 compiler warning

  4. Rename C23 keyword

  5. Assume that <stdbool.h> conforms to the C standard.

  6. Revise tree-walk APIs to improve spec compliance & silence warnings.