Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tClrA-00CbbC-Dw for pgsql-bugs@arkaria.postgresql.org; Sun, 17 Nov 2024 20:26:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tClr5-001WhM-W7 for pgsql-bugs@arkaria.postgresql.org; Sun, 17 Nov 2024 20:26:48 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tClr5-001WhD-Nb for pgsql-bugs@lists.postgresql.org; Sun, 17 Nov 2024 20:26:48 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tClr3-002PLO-CX for pgsql-bugs@lists.postgresql.org; Sun, 17 Nov 2024 20:26:46 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 4AHKQf7x3160020; Sun, 17 Nov 2024 15:26:41 -0500 From: Tom Lane To: Thomas Munro cc: Sam James , pgsql-bugs@lists.postgresql.org Subject: Re: Build failure with GCC 15 (defaults to -std=gnu23) In-reply-to: References: <87o72eo9iu.fsf@gentoo.org> <3073930.1731867112@sss.pgh.pa.us> Comments: In-reply-to Thomas Munro message dated "Mon, 18 Nov 2024 08:30:56 +1300" MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-ID: <3160018.1731875201.1@sss.pgh.pa.us> Content-Transfer-Encoding: 8bit Date: Sun, 17 Nov 2024 15:26:41 -0500 Message-ID: <3160019.1731875201@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Thomas Munro writes: > On Mon, Nov 18, 2024 at 7:12 AM Tom Lane wrote: >> Having said that, I can reproduce this on gcc 14 using -std=gnu23. >> It appears that configure is deciding that 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. Fun. Well, now that we insist on C99 support in all branches, I wonder whether we can just remove all the non-stdbool support. The one thing that looks tricky is that we insist on sizeof(bool) being 1, but are there any remaining supported platforms where it isn't? The buildfarm doesn't have any examples. regards, tom lane