Suppress external templates with Mingw32 - it seems to cause issues with dll's.

Fix match_results.swap.
Add missing namespace qualifiers to ICU code: fixes #3631.

[SVN r57739]
This commit is contained in:
John Maddock
2009-11-18 09:59:42 +00:00
parent 6e1f3dcceb
commit 97005c2017
8 changed files with 43 additions and 28 deletions

View File

@ -8,6 +8,13 @@
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*
*/
//
// This define keep ICU in it's own namespace: helps us to track bugs that would
// otherwise go unnoticed:
//
#define U_USING_ICU_NAMESPACE 0
#include <boost/regex/config.hpp>
#if defined(BOOST_MSVC)
@ -66,7 +73,7 @@ int main()
boost::regex_constants::match_flag_type flgs = boost::regex_constants::match_default;
std::string s1;
std::wstring s2;
UnicodeString us;
U_NAMESPACE_QUALIFIER UnicodeString us;
b = boost::u32regex_match(utf8_arch1(), utf8_arch1(), m1, e1, flgs);
b = boost::u32regex_match(utf8_arch1(), utf8_arch1(), m1, e1);
b = boost::u32regex_match(utf8_arch2(), utf8_arch2(), m2, e1, flgs);

View File

@ -564,7 +564,7 @@ void test_icu(const wchar_t&, const test_regex_replace_tag&)
//
// Now with UnicodeString:
//
UnicodeString expression16u, text16u, format16u, result16u, found16u;
U_NAMESPACE_QUALIFIER UnicodeString expression16u, text16u, format16u, result16u, found16u;
if(expression16.size())
expression16u.setTo(&*expression16.begin(), expression16.size());
if(text16.size())