Re: BUG #13788: compile error in generic_msvc.h

Поиск
Список
Период
Сортировка
От Paul Moore
Тема Re: BUG #13788: compile error in generic_msvc.h
Дата
Msg-id BN4PR07MB2131E7BF8BC8E8A443A5A0D3F1E90@BN4PR07MB2131.namprd07.prod.outlook.com
обсуждение исходный текст
Ответ на Re: BUG #13788: compile error in generic_msvc.h  (Andres Freund <andres@anarazel.de>)
Список pgsql-bugs
I put the cast in and it compiles with no complaint

-----Original Message-----
From: Andres Freund [mailto:andres@anarazel.de]=20
Sent: Thursday, December 10, 2015 7:14 AM
To: Paul Moore <paul.moore@centrify.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>; pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #13788: compile error in generic_msvc.h

Hi Paul,

As I don't have access to msvc: Could you try what Tom suggested in http://=
archives.postgresql.org/message-id/5176.1449005701%40sss.pgh.pa.us ?

Regards,

Andres

On 2015-12-03 17:02:31 +0000, Paul Moore wrote:
> Yes on extern "C". I have other stuff working
>=20
> Really what I am trying to do is invoke c# code. I am going to need to ca=
ll SPI. I tried to find out if anybody else had done it and found nothing.
>=20
> The c++ code is simply a thin shim from native c to c#
>=20
> -----Original Message-----
> From: Andres Freund [mailto:andres@anarazel.de]
> Sent: Wednesday, December 2, 2015 8:50 AM
> To: Paul Moore <paul.moore@centrify.com>
> Cc: Tom Lane <tgl@sss.pgh.pa.us>; pgsql-bugs@postgresql.org
> Subject: Re: [BUGS] BUG #13788: compile error in generic_msvc.h
>=20
> On 2015-12-02 16:13:07 +0000, Paul Moore wrote:
> > The 32 bit functions are defined on unsigned types
> >=20
> > From winbase.h
> >=20
> > FORCEINLINE
> > unsigned
> > InterlockedCompareExchange(
> >     _Inout_ _Interlocked_operand_ unsigned volatile *Destination,
> >     _In_ unsigned Exchange,
> >     _In_ unsigned Comperand
> >     )
> > {
> >     return (unsigned) _InterlockedCompareExchange((volatile long*)=20
> > Destination, (long) Exchange, (long) Comperand); }
> >=20
> > The cast fixes the 64 bit case.
> >=20
> > Full disclosure, I am compiling as c++. I think that might be the=20
> > cause. I tried in a c project and did not get the same error
>=20
> Given that win64 buildfarm members have happily been compiling this code =
I suspect that's the cause. Are you including the headers with extern "C" o=
r not?
>=20
> You're using SPI directly from C++? You got to be *very* careful doing th=
at - postgres uses longjmp which isn't necessarily compatible with C++ (doe=
sn't call destructors to be called and such).
>=20
>=20
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make=20
> changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
Greetings,

Andres Freund

В списке pgsql-bugs по дате отправления:

Предыдущее
От: darin@darinhoward.com
Дата:
Сообщение: BUG #13812: 'now' acting differently than now() in function
Следующее
От: John R Pierce
Дата:
Сообщение: Re: BUG #13811: Default ordering colums