A few warnings on Windows
От | Thomas Munro |
---|---|
Тема | A few warnings on Windows |
Дата | |
Msg-id | CAEepm=3=TDYEXUEcHpEx+Twc31wo7PA0oBAiNt6sWmq93MW02A@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: A few warnings on Windows
|
Список | pgsql-hackers |
Hi, Not sure if it's a goal to be warning free on Windows, but I was testing some patches on that fine operating system and spotted a couple of warnings that seemed worth asking about: src/backend/replication/basebackup.c(1470): warning C4146: unary minus operator applied to unsigned type, result still unsigned Yeah, we have: if (fseek(fp, -(cnt - BLCKSZ * i), SEEK_CUR) == -1) ... where cnt is size_t. Perhaps we should use (or cast to) off_t? src/bin/pgbench/pgbench.c(971): warning C4307: '*' : integral constant overflow [C:\buildfarm\buildenv\HEAD\pgsql.build\pgbench.vcxproj] We have: uint64 result = seed ^ (sizeof(int64) * MM2_MUL); ... where MM2_MUL is a UINT64CONST. I checked the upstream source of this code and it's using a runtime multiplicand while here it's a constant so the compiler sees the overflow. I suppose we could make the warning go away by just defining a constant (which I make out to be 0x35253c9ade8f4ca8). C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdbool.h(11): warning C4005: 'false' : macro redefinition [C:\buildfarm\buildenv\HEAD\pgsql.build\jsonb_plperl.vcxproj] c:\buildfarm\buildenv\head\pgsql.build\src\include\c.h(283) : see previous definition of 'false' C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdbool.h(12): warning C4005: 'true' : macro redefinition [C:\buildfarm\buildenv\HEAD\pgsql.build\jsonb_plperl.vcxproj] c:\buildfarm\buildenv\head\pgsql.build\src\include\c.h(279) : see previous definition of 'true' Somehow when building jsonb_plperl and plperl we get our true/false macros tangled up with the ones from stdbool.h on this platform. Not sure if this was known/expected. There are also a bunch of other macro redefinition warnings but I suspect those are expected (open, unlink etc). -- Thomas Munro http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: