From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Andrew Dunstan <andrew@dunslane.net>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: C11 / VS 2019
Date: Sat, 05 Jul 2025 18:27:44 -0400
Message-ID: <90506.1751754464@sss.pgh.pa.us> (raw)
In-Reply-To: <e5488fe3-38d5-4b1f-ae0d-a254dc969f16@eisentraut.org>
References: <01a69441-af54-4822-891b-ca28e05b215a@eisentraut.org>
<aD2sgK4tMVumNxt4@nathan>
<aD5_OiEKEz2RpYFR@paquier.xyz>
<b4af1f32-f90f-4670-9598-029e99b69f31@eisentraut.org>
<e5488fe3-38d5-4b1f-ae0d-a254dc969f16@eisentraut.org>
Peter Eisentraut <peter@eisentraut.org> writes:
> On 04.06.25 08:15, Peter Eisentraut wrote:
>> For an explanation, the background is that MSVC has a "traditional"
>> preprocessor and a new "conforming" one. The latter is available
>> starting in VS 2019, but it's not the default. We have some code,
>> especially around __VA_ARGS__ that specifically caters to this
>> traditional preprocessor.
> I have committed this.
Buildfarm member drongo has been failing in initdb since 1 July:
selecting default time zone ... UTC
creating configuration files ... ok
running bootstrap script ...
----------------------------------- stderr -----------------------------------
TRAP: failed Assert("SysCache[cacheId]->cc_nkeys == 2"), File: "../pgsql/src/backend/utils/cache/syscache.c", Line: 237, PID: 2684
child process was terminated by exception 0xC0000409
While there are 19 new commits in the first run that shows this
failure [1], the only one that looks plausibly related is
8fd9bb1d965 Tue Jul 1 07:41:40 2025 UTC Enable MSVC conforming preprocessor
because that changed our implementation of VA_ARGS_NARGS(), which is
what's used to compute the cc_nkeys fields for syscaches.
My conclusion is that Microsoft's "standards conforming" preprocessor
is not so standards conforming as all that.
regards, tom lane
[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=drongo&dt=2025-07-01%2016%3A09%3A21
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, peter@eisentraut.org, andrew@dunslane.net, michael@paquier.xyz
Subject: Re: C11 / VS 2019
In-Reply-To: <90506.1751754464@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox