Re: C11 / VS 2019

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: C11 / VS 2019
Date: 2025-07-05 22:27:44
Message-ID: 90506.1751754464@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut <peter(at)eisentraut(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2025-07-06 02:19:10 Adding support for Row Compares to nbtree startikey optimization
Previous Message Tatsuo Ishii 2025-07-05 22:08:38 Re: NegotiateProtocolVersion description