Blame wxGTK-2.6.2-gcc41stringh.patch

Matthew Miller 52301e
===================================================================
Matthew Miller 52301e
RCS file: /pack/cvsroots/wxwidgets/wxWidgets/include/wx/string.h,v
Matthew Miller 52301e
retrieving revision 1.206.2.2
Matthew Miller 52301e
retrieving revision 1.206.2.3
Matthew Miller 52301e
diff -u -r1.206.2.2 -r1.206.2.3
Matthew Miller 52301e
--- wxWidgets/include/wx/string.h	2005/11/01 13:32:48	1.206.2.2
Matthew Miller 52301e
+++ wxWidgets/include/wx/string.h	2005/12/15 19:26:27	1.206.2.3
Matthew Miller 52301e
@@ -1291,16 +1291,15 @@
Matthew Miller 52301e
     { return (wxString&)wxStringBase::operator+=(ch); }
Matthew Miller 52301e
 };
Matthew Miller 52301e
 
Matthew Miller 52301e
-// IBM xlC compiler needs these operators to be declared in global scope,
Matthew Miller 52301e
-// although this shouldn't be a problem for the other compilers we prefer to
Matthew Miller 52301e
-// only do it for it in stable 2.6 branch
Matthew Miller 52301e
-#ifdef __IBMCPP__
Matthew Miller 52301e
+// notice that even though for many compilers the friend declarations above are
Matthew Miller 52301e
+// enough, from the point of view of C++ standard we must have the declarations
Matthew Miller 52301e
+// here as friend ones are not injected in the enclosing namespace and without
Matthew Miller 52301e
+// them the code fails to compile with conforming compilers such as xlC or g++4
Matthew Miller 52301e
 wxString WXDLLIMPEXP_BASE operator+(const wxString& string1,  const wxString& string2);
Matthew Miller 52301e
 wxString WXDLLIMPEXP_BASE operator+(const wxString& string, wxChar ch);
Matthew Miller 52301e
 wxString WXDLLIMPEXP_BASE operator+(wxChar ch, const wxString& string);
Matthew Miller 52301e
 wxString WXDLLIMPEXP_BASE operator+(const wxString& string, const wxChar *psz);
Matthew Miller 52301e
 wxString WXDLLIMPEXP_BASE operator+(const wxChar *psz, const wxString& string);
Matthew Miller 52301e
-#endif // __IBMCPP__
Matthew Miller 52301e
 
Matthew Miller 52301e
 // define wxArrayString, for compatibility
Matthew Miller 52301e
 #if WXWIN_COMPATIBILITY_2_4 && !wxUSE_STL