Use a helper wxNEEDS_DECL_BEFORE_TEMPLATE symbol in wxStrcoll() workaround.
The condition for which this workaround is needed has already changed once (see #11605) and may change again in the future as we test with more compilers so use a symbolic name for it. No real changes otherwise. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -478,10 +478,14 @@ WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
|
|||||||
// this fails to compile with VC6, so don't do it for VC. It also causes
|
// this fails to compile with VC6, so don't do it for VC. It also causes
|
||||||
// problems with GCC visibility in newer GCC versions.
|
// problems with GCC visibility in newer GCC versions.
|
||||||
#if !(defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,5))
|
#if !(defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,5))
|
||||||
|
#define wxNEEDS_DECL_BEFORE_TEMPLATE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef wxNEEDS_DECL_BEFORE_TEMPLATE
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline int wxStrcoll_String(const wxString& s1, const T& s2);
|
inline int wxStrcoll_String(const wxString& s1, const T& s2);
|
||||||
WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
|
WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
|
||||||
#endif // !__VISUALC__
|
#endif // wxNEEDS_DECL_BEFORE_TEMPLATE
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline int wxStrcoll_String(const wxString& s1, const T& s2)
|
inline int wxStrcoll_String(const wxString& s1, const T& s2)
|
||||||
@@ -497,8 +501,9 @@ inline int wxStrcoll_String(const wxString& s1, const T& s2)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,5)
|
#ifndef wxNEEDS_DECL_BEFORE_TEMPLATE
|
||||||
// this is exactly the same WX_STRCMP_FUNC line as above wxStrcoll_String<>
|
// this is exactly the same WX_STRCMP_FUNC line as above, insde the
|
||||||
|
// wxNEEDS_DECL_BEFORE_TEMPLATE case
|
||||||
WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
|
WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user