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