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-27T09:27:21Z
Lists: pgsql-bugs

Attachments

On Mon, Nov 18, 2024 at 2:59 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thomas Munro <thomas.munro@gmail.com> writes:
> > 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.
>
> Yeah, that's a fair criticism.  I don't think we've tested that code
> path since I retired prairiedog, so who's to say that it works even
> now?  Maybe it's best to just delete that code, and if we ever find a
> new platform with wider bool, figure out what to do at that time.

Here's a draft patch for that.

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.