On inclusion of the header `comutil.h` on Cygwin platforms errors such as: include/comutil.h:413:3: error: '_variant_t::_variant_t(unsigned int)' cannot be overloaded with '_variant_t::_variant_t(unsigned int)'
, are produced because on Cygwin some methods are duplicates via a type alias. Disable these methods under `__CYGWIN__`. Signed-off-by: Rafael Kitover <[email protected]> --- mingw-w64-headers/include/comutil.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mingw-w64-headers/include/comutil.h b/mingw-w64-headers/include/comutil.h index c3e2d4739..ee071fbe8 100644 --- a/mingw-w64-headers/include/comutil.h +++ b/mingw-w64-headers/include/comutil.h @@ -410,7 +410,9 @@ public: _variant_t(unsigned short usSrc) throw(); _variant_t(unsigned __LONG32 ulSrc) throw(); _variant_t(int iSrc) throw(); +#ifndef __CYGWIN__ _variant_t(unsigned int uiSrc) throw(); +#endif __MINGW_EXTENSION _variant_t(__int64 i8Src) throw(); __MINGW_EXTENSION _variant_t(unsigned __int64 ui8Src) throw(); ~_variant_t() throw(); @@ -429,8 +431,10 @@ public: operator char() const; operator unsigned short() const; operator unsigned __LONG32() const; +#ifndef __CYGWIN__ operator int() const; operator unsigned int() const; +#endif __MINGW_EXTENSION operator __int64() const; __MINGW_EXTENSION operator unsigned __int64() const; _variant_t &operator=(const VARIANT &varSrc); @@ -452,8 +456,10 @@ public: _variant_t &operator=(char cSrc); _variant_t &operator=(unsigned short usSrc); _variant_t &operator=(unsigned __LONG32 ulSrc); +#ifndef __CYGWIN__ _variant_t &operator=(int iSrc); _variant_t &operator=(unsigned int uiSrc); +#endif __MINGW_EXTENSION _variant_t &operator=(__int64 i8Src); __MINGW_EXTENSION _variant_t &operator=(unsigned __int64 ui8Src); bool operator==(const VARIANT &varSrc) const throw(); @@ -601,10 +607,12 @@ inline _variant_t::_variant_t(int iSrc) throw() { V_VT(this) = VT_INT; V_INT(this) = iSrc; } +#ifndef __CYGWIN__ inline _variant_t::_variant_t(unsigned int uiSrc) throw() { V_VT(this) = VT_UINT; V_UINT(this) = uiSrc; } +#endif __MINGW_EXTENSION inline _variant_t::_variant_t(__int64 i8Src) throw() { V_VT(this) = VT_I8; V_I8(this) = i8Src; @@ -714,6 +722,7 @@ inline _variant_t::operator unsigned __LONG32() const { varDest.ChangeType(VT_UI4,this); return V_UI4(&varDest); } +#ifndef __CYGWIN__ inline _variant_t::operator int() const { if(V_VT(this)==VT_INT) return V_INT(this); _variant_t varDest; @@ -726,6 +735,7 @@ inline _variant_t::operator unsigned int() const { varDest.ChangeType(VT_UINT,this); return V_UINT(&varDest); } +#endif __MINGW_EXTENSION inline _variant_t::operator __int64() const { if(V_VT(this)==VT_I8) return V_I8(this); _variant_t varDest; @@ -988,6 +998,7 @@ inline _variant_t &_variant_t::operator=(unsigned __LONG32 ulSrc) return *this; } +#ifndef __CYGWIN__ inline _variant_t &_variant_t::operator=(int iSrc) { if(V_VT(this)!=VT_INT) { @@ -1015,6 +1026,7 @@ inline _variant_t &_variant_t::operator=(unsigned int uiSrc) return *this; } +#endif __MINGW_EXTENSION inline _variant_t &_variant_t::operator=(__int64 i8Src) { if(V_VT(this)!=VT_I8) { -- 2.45.2.windows.1 _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
