Re: longstanding mingw warning

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: longstanding mingw warning
Date: 2011-08-10 15:25:31
Message-ID: 4E42A2EB.6000302@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 08/10/2011 08:08 AM, Magnus Hagander wrote:
> On Tue, Jul 26, 2011 at 15:20, Andrew Dunstan<andrew(at)dunslane(dot)net> wrote:
>> Why do we get this warning on Mingw?:
>>
>> x86_64-w64-mingw32-gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
>> -Wdeclaration-after-statement -Wendif-labels -Wformat-security
>> -fno-strict-aliasing -fwrapv -g -I../../../../src/include
>> -I/home/pgrunner/bf/root/HEAD/pgsql.3896/../pgsql/src/include
>> -I../pgsql/src/include/port/win32 -DEXEC_BACKEND -I/c/prog/mingwdep/include
>> "-I/home/pgrunner/bf/root/HEAD/pgsql.3896/../pgsql/src/include/port/win32"
>> -DBUILDING_DLL -c -o mingwcompat.o
>> /home/pgrunner/bf/root/HEAD/pgsql.3896/../pgsql/src/backend/port/win32/mingwcompat.c
>>
>> c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.3896/../pgsql/src/backend/port/win32/mingwcompat.c:60:1:
>> warning: 'RegisterWaitForSingleObject' redeclared without dllimport
>> attribute: previous dllimport ignored
>>
>>
>> Can we get rid of it?
> I don't recall this warning specifically - I wonder if it's specific
> to certain version(s) of mingw? It's in mingwcompat.c simply because
> the mingw API headers were broken. That warning sounds to me like you
> suddenly have RegisterWaitForSingleObject present in the system
> headers - can you check that it is?
>
> If it is in the system headers, we need some way to check when it
> appeared, and then add the function only if it isn't there. Either by
> autoconf, or if we can make a simple hardcoded ifdef (since the file
> is only ever compiled on mingw).
>

In some versions of the headers it's declared unconditionally, in others
it's declared if __WIN32_WINNT > 0x0500 which we are these days. But it
looks like we're trying to override the builtin, not just supply a
declaration.

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2011-08-10 16:34:23 Re: Enforcing that all WAL has been replayed after restoring from backup
Previous Message Tom Lane 2011-08-10 14:08:21 Re: Reduced power consumption in autovacuum launcher process