Re: include/guiddef.h: C++ compatibility patch (with MSVC++ support)
"Troy Rollo" <wine(a)troy.rollo.name> wrote:
--- include/guiddef.h (revision 26053) +++ include/guiddef.h (local) @@ -35,12 +35,18 @@ #undef DEFINE_GUID
#ifdef INITGUID +#ifdef __cplusplus #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ + EXTERN_C const GUID name = \ + { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } +#else +#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ const GUID name = \ { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } +#endif #else #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ - extern const GUID name + EXTERN_C const GUID name #endif
#define DEFINE_OLEGUID(name, l, w1, w2) \
There are 2 problems with this patch: you forgot to provide a definition for EXTERN_C, and it needlessly duplicates code for the __cplusplus case. -- Dmitry.
On Friday 02 September 2005 19:53, Dmitry Timoshkov wrote:
There are 2 problems with this patch: you forgot to provide a definition for EXTERN_C,
I "forgot" nothing. It's defined in both basetyps.h and winnt.h, which is sufficient for it to have built the whole of WINE after a "make clean" and my own application. If you have something that requires a separate definition of it in guiddefh then you can always post your own patch, but there is no reason to be gratuitously rude about it. *plonk*.
and it needlessly duplicates code for the __cplusplus case.
It does not. GNU C (correctly) flags an initialised variable declared extern as an error. -- troy(a)rollo.com - Sydney, Australia
participants (2)
-
Dmitry Timoshkov -
Troy Rollo