I've run a quick diff of the code on trunk and 4.2.x (include,src,tests) to be sure that everything that should have been merged over has been merged. Here is what I've found...
Changes on 4.2.x, but not on trunk http://svn.apache.org/viewvc?view=rev&revision=650742 http://svn.apache.org/viewvc?view=rev&revision=649727 http://svn.apache.org/viewvc?view=rev&revision=650710 Changes on trunk, but not on 4.2.x http://svn.apache.org/viewvc?view=rev&revision=629207 http://svn.apache.org/viewvc?view=rev&revision=648509 http://svn.apache.org/viewvc?view=rev&revision=648403 * http://svn.apache.org/viewvc?view=rev&revision=650367 http://svn.apache.org/viewvc?view=rev&revision=650584 http://svn.apache.org/viewvc?view=rev&revision=649665 http://svn.apache.org/viewvc?view=rev&revision=651308 I'm confident that most of this is acceptable. The changes on 4.2.x will be merged back There is one set of diffs in string that have me a little concerned. You can see those below. $ svn diff \ --old=http://svn.apache.org/repos/asf/stdcxx/trunk/include/string \ --new=http://svn.apache.org/repos/asf/stdcxx/branches/4.2.x/include/stri ng Index: string =================================================================== --- string (.../trunk/include/string) (revision 651429) +++ string (.../branches/4.2.x/include/string) (revision 651429) @@ -56,14 +56,12 @@ #ifndef _RWSTD_NO_MEMBER_TEMPLATES # ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES -_EXPORT template <class _CharT, class _Traits, class _Alloc, class _StringIter, class _InputIter> std::basic_string<_CharT, _Traits, _Alloc>& __rw_replace (std::basic_string<_CharT, _Traits, _Alloc>&, _StringIter, _StringIter, _InputIter, _InputIter); -_EXPORT template <class _CharT, class _Traits, class _Alloc, class _StringIter, class _InputIter> std::basic_string<_CharT, _Traits, _Alloc>& @@ -510,8 +508,6 @@ return _C_make_iter (_C_data + __pos1); } -public: - #ifndef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES template <class _InputIter> @@ -519,6 +515,8 @@ #else +public: + template <class _InputIter> basic_string& __replace_aux (iterator __first1, iterator __last1, _InputIter __first2, _InputIter __last2) { The public access specifier is one issue. Here is a context diff. - public: - #ifndef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES template <class _InputIter> basic_string& __replace_aux (iterator, iterator, _InputIter, _InputIter); #else + public: + template <class _InputIter> basic_string& __replace_aux (iterator __first1, iterator __last1, _InputIter __first2, _InputIter __last2) { return __rw_replace_aux (*this, __first1, __last1, __first2, __last2); } #endif // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES The second issue is the _EXPORT keyword that was added to __rw_replace{_aux}() (in both string and string.cc) on trunk, but not on 4.2.x. Travis
