include/guiddef.h: C++ compatibility patch (with MSVC++ support)

Dmitry Timoshkov dmitry at baikal.ru
Fri Sep 2 04:53:27 CDT 2005


"Troy Rollo" <wine at 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.




More information about the wine-devel mailing list