diff --git a/src/util/com/com_guid.h b/src/util/com/com_guid.h index efcfd93a..d1f6b01d 100644 --- a/src/util/com/com_guid.h +++ b/src/util/com/com_guid.h @@ -6,8 +6,13 @@ #include "com_include.h" #ifndef _MSC_VER -#define DXVK_DEFINE_GUID(iface) \ - template<> inline GUID const& __mingw_uuidof () { return iface::guid; } +# ifdef __WINE__ +# define DXVK_DEFINE_GUID(iface) \ + template<> inline GUID const& __wine_uuidof () { return iface::guid; } +# else +# define DXVK_DEFINE_GUID(iface) \ + template<> inline GUID const& __mingw_uuidof () { return iface::guid; } +# endif #endif std::ostream& operator << (std::ostream& os, REFIID guid); diff --git a/src/util/com/com_include.h b/src/util/com/com_include.h index 2ceeb202..3c119309 100644 --- a/src/util/com/com_include.h +++ b/src/util/com/com_include.h @@ -8,4 +8,10 @@ #define WIN32_LEAN_AND_MEAN #include -#include \ No newline at end of file +#include + +// GCC: -std options disable certain keywords +// https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html +#if defined(__WINE__) && !defined(typeof) +#define typeof __typeof +#endif