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

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

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Sam James <sam@gentoo.org>, pgsql-bugs@lists.postgresql.org
Date: 2024-11-26T02:13:11Z
Lists: pgsql-bugs
Thomas Munro <thomas.munro@gmail.com> writes:
> ... I think it might be unlikely to
> upset anyone if it works something like this:

> * For 16+ nothing, we're going to be C23 clean (after a couple more
> back-patches)
> * For 9.2-15 on GCC < 15 it'll stay as nothing too
> * For 9.2-15 on early GCC 15 adopter distros like Fedora/Gentoo etc
> we'll detect C23, and perhaps start spitting out -std=c17 (if you've
> detected C23, I think you can assume that C17 is available so we don't
> have to do a C17-C11-C99[-C89] search?)
> * When 12-15 fall out of support and all compilers are eventually C23+
> compilers, they'll eventually always be getting -std=c17 by the above
> rules but no one will mind about that in the ancient branches

Sounds plausible to me.  Will you work on making that happen?

			regards, tom lane



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.