
I've took the liberty of comitting the following change, which make "m_value" visible on compilers with two-phase lookup (like gcc 3.4) However, the token_iterator_test still fails to compile on 3.4 saying: token_iterator_test.cpp:47:38: converting to execution character set: Invalid or incomplete multibyte or wide character token_iterator_test.cpp:48:31: converting to execution character set: Invalid or incomplete multibyte or wide character token_iterator_test.cpp:48:42: converting to execution character set: Invalid argument token_iterator_test.cpp:48:49: converting to execution character set: Invalid argument token_iterator_test.cpp:48:55: converting to execution character set: Invalid or incomplete multibyte or wide character Looks like the text in L"" literals is not 7-bit, and that's why compiler errors out. Is it possible to change the test somehow? - Volodya Index: token_iterator.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/test/detail/iterator/token_iterator.hpp,v retrieving revision 1.3 diff -u -r1.3 token_iterator.hpp --- token_iterator.hpp 19 Jul 2004 12:29:57 -0000 1.3 +++ token_iterator.hpp 20 Jul 2004 12:45:47 -0000 @@ -309,7 +309,7 @@ typedef ut_detail::token_assigner<BOOST_DEDUCED_TYPENAME iterator_traversal<Iter>::type> Assigner; Iter checkpoint; - Assigner::clear( m_value ); + Assigner::clear( this->m_value ); if( !m_keep_empty_tokens ) { while( begin != end && m_is_dropped( *begin ) )

I've took the liberty of comitting the following change, which make "m_value" visible on compilers with two-phase lookup (like gcc 3.4)
Thanks.
However, the token_iterator_test still fails to compile on 3.4 saying:
token_iterator_test.cpp:47:38: converting to execution character set: Invalid or incomplete multibyte or wide character ... Looks like the text in L"" literals is not 7-bit, and that's why compiler errors out. Is it possible to change the test somehow?
What is wrong with those values? MSVC 6-7 has no problems with them.
- Volodya
Gennadiy.

On Tue, Jul 20, 2004 at 12:15:28PM -0400, Gennadiy Rozental wrote:
However, the token_iterator_test still fails to compile on 3.4 saying:
token_iterator_test.cpp:47:38: converting to execution character set: Invalid or incomplete multibyte or wide character ... Looks like the text in L"" literals is not 7-bit, and that's why compiler errors out. Is it possible to change the test somehow?
What is wrong with those values? MSVC 6-7 has no problems with them.
See 2.1 [lex.phases] and 2.2 [lex.charset] Windows has a different execution character set, so doesn't mind those characters. The charsets are implementation-defined. jon -- "The easy confidence with which I know another man's religion is Folly leads me to suspect that my own is also." - Mark Twain

Gennadiy Rozental wrote:
However, the token_iterator_test still fails to compile on 3.4 saying:
token_iterator_test.cpp:47:38: converting to execution character set:
Invalid
or incomplete multibyte or wide character
...
Looks like the text in L"" literals is not 7-bit, and that's why compiler errors out. Is it possible to change the test somehow?
What is wrong with those values? MSVC 6-7 has no problems with them.
I don't pretend I understand what the standard says about it, but I could find this: http://gcc.gnu.org/ml/gcc-patches/2003-07/msg00474.html which seems to say that only ASCII and UTF8 sources are OK. - Volodya
participants (3)
-
Gennadiy Rozental
-
Jonathan Wakely
-
Vladimir Prus