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-17T19:30:56Z
Lists: pgsql-bugs
On Mon, Nov 18, 2024 at 7:12 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Sam James <sam@gentoo.org> writes: > > postgres-17.1 fails to build with upcoming GCC 15 which defaults to > > -std=gnu23 as follows: > > I do not think we claim to support C23 yet. > > Having said that, I can reproduce this on gcc 14 using -std=gnu23. > It appears that configure is deciding that <stdbool.h> is not > conformant to C99 because it doesn't declare "bool" as a macro. > Did C23 really remove that !? Yes, seems to be a general pattern: features introduced as keyword _Xxx with a library macro xxx -> _Xxx (usually where xxx is already a keyword in C++ but the C committee was afraid to unleash a new keyword directly on the world, I guess?), and now xxx is finally graduating to real keyword status. Other examples: static_assert, thread_local, alignas.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Require sizeof(bool) == 1.
- 97525bc5c8ff 18.0 landed
-
If a C23 compiler is detected, try asking for C17.
- f4e8f137bfb0 10 (unreleased) landed
- 0c7171b32e64 9.2 (unreleased) landed
- 102be6634e6f 9.3 (unreleased) landed
- b1b8b8e6f141 9.4 (unreleased) landed
- 5b40ce749c6f 9.5 (unreleased) landed
- 70cf253d18da 9.6 (unreleased) landed
- 170e416034ec 11 (unreleased) landed
- 3f302f0ed06f 12 (unreleased) landed
- 59ea17c43c6c 13.19 landed
- 1fd57e5bbf87 14.16 landed
- f00c401c65af 15.11 landed
-
Fix C23 compiler warning
- f7a929a007e6 16.7 landed
- f3834c12afd8 17.3 landed
-
Rename C23 keyword
- ae145d1de677 16.7 landed
- ad89c8bda1f0 17.3 landed
-
Assume that <stdbool.h> conforms to the C standard.
- bc5a4dfcf739 18.0 landed
- 0813a5e69186 17.3 landed
- 0f6d902308a8 16.7 landed
- 94817d9d94d0 15.11 landed
- e0874080c472 14.16 landed
- 13242b64e15d 13.19 landed
- 15a89e2cc501 12 (unreleased) landed
- 0305dd3adef2 11 (unreleased) landed
-
Revise tree-walk APIs to improve spec compliance & silence warnings.
- 1c27d16e6e5c 16.0 cited