Re: [pgsql-hackers-win32] libpq build problem with on MS VC++ - Mailing list pgsql-patches

From Tom Lane
Subject Re: [pgsql-hackers-win32] libpq build problem with on MS VC++
Date
Msg-id 4172.1092753272@sss.pgh.pa.us
Whole thread Raw
In response to Re: [pgsql-hackers-win32] libpq build problem with  (Andreas Pflug <pgadmin@pse-consulting.de>)
List pgsql-patches
Andreas Pflug <pgadmin@pse-consulting.de> writes:
>> Back on track: if rename() does exist under Windows then my idea is
>> unreliable.  Any other thoughts?  How about #including <io.h> in port.h
>> (for Windows only of course) before we #define these things?

> Probably won't work, because pgrename and rename do not have the same
> definition/linkage.

So?  The compiler would see something like

    extern linkage_spec rename(...);

    extern int pgrename(...);

    #define rename  pgrename

so the conflict of linkage spec shouldn't bother anything.

> I posted the attached patch 4 days ago, with the comment
> "The attached patch will redefine unlink and rename only if FRONTEND is
> not defined.".

> I still believe this a good way to fix it.

The conflict would still exist.  AFAICS it's pure chance that it's
not affecting any backend modules at the moment.

            regards, tom lane

pgsql-patches by date:

Previous
From: "Mark Cave-Ayland"
Date:
Subject: Re: [pgsql-hackers-win32] GUC variables invisible to contrib/ modules
Next
From: Bruce Momjian
Date:
Subject: Re: [pgsql-hackers-win32] libpq build problem with on MS VC++