Re: C11 / VS 2019

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: C11 / VS 2019
Date: 2025-07-09 20:10:25
Message-ID: 1345212.1752091825@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> On 2025-07-08 Tu 4:10 PM, Andrew Dunstan wrote:
>> On 2025-07-08 Tu 3:45 PM, Tom Lane wrote:
>>> In the no-good-deed-goes-unpunished department ... drongo is now spewing
>>> a boatload of these warnings:
>>>
>>> C:\\Program Files (x86)\\Windows
>>> Kits\\10\\include\\10.0.18362.0\\um\\winbase.h(9305): warning C5105:
>>> macro expansion producing 'defined' has undefined behavior

> The relevant portion of the winbase.h file appears to be:

> #define
> MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS
> (_WIN32_WINNT >= 0x0502 || !defined(_WINBASE_))

Hmm ... I don't pretend to be enough of a C language lawyer to know
whether this should have undefined behavior per spec, but it surely
does meet the conditions stated in the warning message.

I wonder if we should do what it says here:

> /*
> To turn off/hide the contents of this file:
>  #define
> MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS 0
> */

> I don't think we have any other VS 2019 machines in the buildfarm. I can
> try installing VS 2022, which hamerkop seems to be running without
> producing the error.

That would amount to desupporting VS 2019, which I'm not sure we want
to do yet. I don't have a huge problem with ignoring this warning.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2025-07-09 20:51:29 Re: C11 / VS 2019
Previous Message Andrew Dunstan 2025-07-09 19:56:12 Re: C11 / VS 2019