On Mon, May 26, 2014 at 09:50:42PM +0900, Michael Paquier wrote:
> > x86_64-w64-mingw32-gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
> > -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
> > -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard
> > -g -I/home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/interfaces/libpq
> > -I../../../src/include
> > -I/home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/include
> > -I../pgsql/src/include/port/win32 -DEXEC_BACKEND
> > -I/c/prog/3p64/include/libxml2 -I/c/prog/3p64/include
> > -I/c/prog/3p64/openssl/include
> > "-I/home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/include/port/win32"
> > -c -o parallel.o
> > /home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/bin/pg_dump/parallel.c
> > c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/bin/pg_dump/parallel.c:
> > In function 'pgpipe':
> > c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/bin/pg_dump/parallel.c:1332:2:
> > warning: overflow in implicit constant conversion [-Woverflow]
> > handles[0] = handles[1] = INVALID_SOCKET;
> > ^
> > c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.5100/../pgsql/src/bin/pg_dump/parallel.c:1386:3:
> > warning: overflow in implicit constant conversion [-Woverflow]
> > handles[1] = INVALID_SOCKET;
> > ^
> In mingw-w64, SOCKET_INVALID is defined as ~0:
> http://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/psdk_inc/_socket_types.h
> Is this overflow caused because SOCKET_INVALID corresponds to a 64b
> value in mingw-w64?
> Looking at the code this exists since 9.3.
I think this is caused because the variable is not defined as SOCKET.
The attached patch fixes this. This should prevent the warning.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +
diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c
new file mode 100644
index caedbb8..cd6ef7a
*** a/src/bin/pg_dump/parallel.c
--- b/src/bin/pg_dump/parallel.c
***************
*** 36,42 ****
#ifdef WIN32
static unsigned int tMasterThreadId = 0;
static HANDLE termEvent = INVALID_HANDLE_VALUE;
! static int pgpipe(int handles[2]);
static int piperead(int s, char *buf, int len);
/*
--- 36,42 ----
#ifdef WIN32
static unsigned int tMasterThreadId = 0;
static HANDLE termEvent = INVALID_HANDLE_VALUE;
! static int pgpipe(SOCKET handles[2]);
static int piperead(int s, char *buf, int len);
/*
*************** readMessageFromPipe(int fd)
*** 1323,1329 ****
* with recv/send.
*/
static int
! pgpipe(int handles[2])
{
SOCKET s;
struct sockaddr_in serv_addr;
--- 1323,1329 ----
* with recv/send.
*/
static int
! pgpipe(SOCKET handles[2])
{
SOCKET s;
struct sockaddr_in serv_addr;
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers