------- Comment #18 from davek at gcc dot gnu dot org 2010-01-27 12:45 ------- (In reply to comment #17) > So, as a matter of fact, char16_t and char32_t normally work on cygwin too.
Ah, hang on. I may have got some of my revision numbers mixed up there. (I have a number of objdirs lying around built at various times from the same sandbox.) Here are two fairly recent ones: $ /gnu/gcc/install-lto/opt/gcc-tools/bin/g++-4 -std=c++0x -c mpl_size_hpp.ii ; echo $? 0 $ /gnu/gcc/install-obj2/opt/gcc-tools/bin/g++-4 -std=c++0x -c mpl_size_hpp.ii ; echo $? In file included from /usr/include/boost_1_39_0/boost/mpl/aux_/include_preproces sed.hpp:37:0, from /usr/include/boost_1_39_0/boost/mpl/aux_/full_lambda.hpp:4 4, from /usr/include/boost_1_39_0/boost/mpl/lambda.hpp:22, from /usr/include/boost_1_39_0/boost/mpl/iter_fold.hpp:20, from /usr/include/boost_1_39_0/boost/mpl/distance.hpp:18, from /usr/include/boost_1_39_0/boost/mpl/aux_/size_impl.hpp:19, from /usr/include/boost_1_39_0/boost/mpl/size.hpp:19, from br.cpp:2: /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp:555:49 2: error: specialization of 'boost::mpl::aux::template_arity<boost::mpl::lambda< mpl_::na, mpl_::na> >' after instantiation /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp:555:49 2: error: redefinition of 'struct boost::mpl::aux::template_arity<boost::mpl::la mbda<mpl_::na, mpl_::na> >' /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:92: 1: error: previous definition of 'struct boost::mpl::aux::template_arity<boost:: mpl::lambda<mpl_::na, mpl_::na> >' In file included from /usr/include/boost_1_39_0/boost/mpl/distance.hpp:18:0, from /usr/include/boost_1_39_0/boost/mpl/aux_/size_impl.hpp:19, from /usr/include/boost_1_39_0/boost/mpl/size.hpp:19, from br.cpp:2: /usr/include/boost_1_39_0/boost/mpl/iter_fold.hpp:45:531: error: specialization of 'boost::mpl::aux::template_arity<boost::mpl::iter_fold<> >' after instantiati on /usr/include/boost_1_39_0/boost/mpl/iter_fold.hpp:45:531: error: redefinition of 'struct boost::mpl::aux::template_arity<boost::mpl::iter_fold<> >' /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:92: 1: error: previous definition of 'struct boost::mpl::aux::template_arity<boost:: mpl::iter_fold<> >' In file included from /usr/include/boost_1_39_0/boost/mpl/distance.hpp:19:0, from /usr/include/boost_1_39_0/boost/mpl/aux_/size_impl.hpp:19, from /usr/include/boost_1_39_0/boost/mpl/size.hpp:19, from br.cpp:2: /usr/include/boost_1_39_0/boost/mpl/iterator_range.hpp:38:521: error: specializa tion of 'boost::mpl::aux::template_arity<boost::mpl::iterator_range<> >' after i nstantiation /usr/include/boost_1_39_0/boost/mpl/iterator_range.hpp:38:521: error: redefiniti on of 'struct boost::mpl::aux::template_arity<boost::mpl::iterator_range<> >' /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:92: 1: error: previous definition of 'struct boost::mpl::aux::template_arity<boost:: mpl::iterator_range<> >' In file included from /usr/include/boost_1_39_0/boost/mpl/aux_/size_impl.hpp:19: 0, from /usr/include/boost_1_39_0/boost/mpl/size.hpp:19, from br.cpp:2: /usr/include/boost_1_39_0/boost/mpl/distance.hpp:74:485: error: specialization o f 'boost::mpl::aux::template_arity<boost::mpl::distance<> >' after instantiation /usr/include/boost_1_39_0/boost/mpl/distance.hpp:74:485: error: redefinition of 'struct boost::mpl::aux::template_arity<boost::mpl::distance<> >' /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:92: 1: error: previous definition of 'struct boost::mpl::aux::template_arity<boost:: mpl::distance<> >' In file included from br.cpp:2:0: /usr/include/boost_1_39_0/boost/mpl/size.hpp:38:421: error: specialization of 'b oost::mpl::aux::template_arity<boost::mpl::size<> >' after instantiation /usr/include/boost_1_39_0/boost/mpl/size.hpp:38:421: error: redefinition of 'str uct boost::mpl::aux::template_arity<boost::mpl::size<> >' /usr/include/boost_1_39_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:92: 1: error: previous definition of 'struct boost::mpl::aux::template_arity<boost:: mpl::size<> >' 1 dkad...@ubik /tmp/boost $ /gnu/gcc/install-lto/opt/gcc-tools/bin/g++-4 -std=c++0x -c mpl_size_hpp.ii ; echo $? 0 dkad...@ubik /tmp/boost $ However, note there's still no problem with the wide char types. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42880