X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e93523680ba3c83cdae75b511214c82f28a2d853..49d8a7819b3a04c5a51a4e73c3d5b41d8082972c:/include/wx/wxcrt.h diff --git a/include/wx/wxcrt.h b/include/wx/wxcrt.h index 0083ee1585..04fffe5a44 100644 --- a/include/wx/wxcrt.h +++ b/include/wx/wxcrt.h @@ -419,8 +419,9 @@ WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String) // the template's implementation uses overloaded function declared later (see // the wxStrcoll() call in wxStrcoll_String()), so we have to // forward-declare the template and implement it below WX_STRCMP_FUNC. OTOH, -// this fails to compile with VC6, so don't do it for VC. -#if !defined(__VISUALC__) +// this fails to compile with VC6, so don't do it for VC. It also causes +// problems with GCC visibility in newer GCC versions. +#if !(defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,4)) template inline int wxStrcoll_String(const wxString& s1, const T& s2); WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String) @@ -440,7 +441,7 @@ inline int wxStrcoll_String(const wxString& s1, const T& s2) #endif } -#if defined(__VISUALC__) +#if defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,4) // this is exactly the same WX_STRCMP_FUNC line as above wxStrcoll_String<> WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String) #endif