Re: [COMMITTERS] pgsql: Silence compiler warning on win32. - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [COMMITTERS] pgsql: Silence compiler warning on win32.
Date
Msg-id 49805C1F.2020607@hagander.net
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Silence compiler warning on win32.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
>> Tom Lane wrote:
>>> Surely this patch is wrong.  It is suppressing, not fixing, a critical
>>> warning about a datatype mismatch.
> 
>> You mean the signed vs unsigned part? Other than that, int and dword are
>> always the same on win32...
> 
> Hmm, need more caffeine I guess.  I was thinking dword == long.  But in
> any case, I'd feel a lot more comfortable if the patch ifdef'd the
> declaration of exit_status to match, rather than forcing a cast of the
> pointer value.  Just a couple weeks ago I wasted a great deal of time
> finding a bug that was created by someone overriding this exact type of
> compiler warning with a cast to something that *wasn't* binary
> compatible.  (It worked fine on the author's machine, of course, but
> not so much on one with a different sizeof long...)

Hmm. I looked at that, but that kind of just moves things around.

If i change that variable to be DWORD, it still stuffs it into
statuses[i] three lines further down, which then means that the whole
definition of the function wait_for_tests need to be #ifdefed.

I guess the proper solution in that case is to #define a datatype used
for return codes. Is it really worth that for this, though?

//Magnus



pgsql-hackers by date:

Previous
From: Gregory Stark
Date:
Subject: Re: posix_fadvise v22
Next
From: KaiGai Kohei
Date:
Subject: Re: How to get SE-PostgreSQL acceptable