From: Eric Pouech eric.pouech@gmail.com
otherwise Wine's and Mingw64's __uuidof() enter in conflict (C++)
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- include/guiddef.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/include/guiddef.h b/include/guiddef.h index 912fcea0cbe..5c8a1ab8a72 100644 --- a/include/guiddef.h +++ b/include/guiddef.h @@ -44,7 +44,11 @@ typedef struct _GUID /* Macros for __uuidof emulation */ #ifdef __cplusplus # if defined(__MINGW32__) -# define __WINE_UUID_ATTR __attribute__((selectany)) +/* Mingw64 can provide support for __uuidof and __CRT_UUID_DECL... use Mingw64's when present */ +# if !defined(__uuidof) +# define __WINE_UUID_ATTR __attribute__((selectany)) +# undef __CRT_UUID_DECL +# endif # elif defined(__GNUC__) # define __WINE_UUID_ATTR __attribute__((visibility("hidden"),weak)) # endif @@ -76,7 +80,7 @@ extern "C++" {
#define __uuidof(type) __wine_uuidof_type<__typeof__(type)>::inst::uuid
-#else /* __WINE_UUID_ATTR */ +#elif !defined(__CRT_UUID_DECL) /* __WINE_UUID_ATTR */
#define __CRT_UUID_DECL(type,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)