Обсуждение: MSVC compilers complain about snprintf
The MSVC compilers are whingeing about recent changes in snprintf.c:
src\port\snprintf.c(1051): warning C4146: unary minus operator
applied to unsigned type, result still unsigned
The line in question reads:
uvalue = -(unsigned long long) value;
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Hi, On 2018-10-17 17:27:14 -0400, Andrew Dunstan wrote: > > The MSVC compilers are whingeing about recent changes in snprintf.c: > > > src\port\snprintf.c(1051): warning C4146: unary minus operator > applied to unsigned type, result still unsigned > > > The line in question reads: > > uvalue = -(unsigned long long) value; Yea, that's intended. Is there a way to silence that one, but just keep the code largely similar? Greetings, Andres Freund
On 10/17/2018 05:31 PM, Andres Freund wrote:
> Hi,
>
> On 2018-10-17 17:27:14 -0400, Andrew Dunstan wrote:
>> The MSVC compilers are whingeing about recent changes in snprintf.c:
>>
>>
>> src\port\snprintf.c(1051): warning C4146: unary minus operator
>> applied to unsigned type, result still unsigned
>>
>>
>> The line in question reads:
>>
>> uvalue = -(unsigned long long) value;
> Yea, that's intended. Is there a way to silence that one, but just keep
> the code largely similar?
Probably something like:
#if (_MSC_VER >= 1800)
#pragma warning(disable:4146)
#endif
based on float.h.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes:
> The MSVC compilers are whingeing about recent changes in snprintf.c:
> src\port\snprintf.c(1051): warning C4146: unary minus operator
> applied to unsigned type, result still unsigned
Yeah, see commit 4868e4468590bc32f9c3afed4ec795d6a7732c9d.
The law of conservation of warning messages seems to be at work :-(
regards, tom lane