[config] libs not supporting std::u16string and std::u32string.

Hi, compiling Boost.Ratio/io Boost.Chrono/io with compilers supporting |char16_t and |char32_t fails if the library don't provides std::u16string and std::u32string. Could we add a macro |BOOST_NO_CXX11_HDR_STRING||| (c++11 is not completely provided) or the two more specific |||BOOST_NO_CXX11_U16STRING||| and |||BOOST_NO_CXX11_U32STRING||| for these cases? Best, Vicente || ||

Le 07/10/12 21:21, Vicente J. Botet Escriba a écrit :
I have started to add BOOST_NO_CXX11_U16STRING and BOOST_NO_CXX11_U32STRING (see attached patch) and at the end I'm getting an error for gcc-4.7.0 -std=c++0x which has nothing to be with my modifications. boost_no_cxx11_hdr_mutex.ipp: In function ‘int boost_no_cxx11_hdr_mutex::test()’: boost_no_cxx11_hdr_mutex.ipp:21:14: error: ‘std::timed_mutex’ has not been declared boost_no_cxx11_hdr_mutex.ipp:22:14: error: ‘std::recursive_timed_mutex’ has not been declared In addition I'm unable to build the docs quickbook.quickbook-to-boostbook ../../../bin.v2/libs/config/doc/darwin-4.2.1/debug/config.xml Generating Output File: ../../../bin.v2/libs/config/doc/darwin-4.2.1/debug/config.xml /Users/viboes/boost/trunk/libs/config/doc/config.qbk:1: warning: Invalid attributes for 'article document info': purpose, category, dirname /Users/viboes/boost/trunk/libs/config/doc/macro_reference.qbk:700: error: Syntax Error near column 2. /Users/viboes/boost/trunk/libs/config/doc/macro_reference.qbk:700: error: Syntax Error near column 3. /Users/viboes/boost/trunk/libs/config/doc/macro_reference.qbk:700: error: Syntax Error near column 3. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:131: warning: in column:75, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:131: warning: in column:79, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:135: warning: in column:25, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:135: warning: in column:29, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:136: warning: in column:77, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:136: warning: in column:81, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:138: warning: in column:103, [br] and \n are deprecated. /Users/viboes/boost/trunk/libs/config/doc/guidelines.qbk:138: warning: in column:107, [br] and \n are deprecated. config.qbk: error: Error count: 3. are these know issues? I have updated only the file boost/config/stdlib/libstdcpp3.hpp. I could update others once you commit the patch. Best, Vicente Complete log: darwin.compile.c++ ../../../bin.v2/libs/config/test/config_test.test/darwin-4.7.0x/debug/config_test.o In file included from config_test.cpp:51:0: boost_no_auto_ptr.ipp: In function ‘int boost_no_auto_ptr::test()’: boost_no_auto_ptr.ipp:43:26: warning: ‘auto_ptr’ is deprecated (declared at /usr/local/gcc-4-7-svn/lib/gcc/x86_64-apple-darwin10/4.7.0/include/c++/backward/auto_ptr.h:87) [-Wdeprecated-declarations] In file included from config_test.cpp:106:0: boost_no_cxx11_allocator.ipp: In function ‘int boost_no_cxx11_allocator::test()’: boost_no_cxx11_allocator.ipp:19:32: warning: unused variable ‘p’ [-Wunused-variable] boost_no_cxx11_allocator.ipp:27:25: warning: unused variable ‘aat’ [-Wunused-variable] boost_no_cxx11_allocator.ipp:28:51: warning: unused variable ‘ua’ [-Wunused-variable] boost_no_cxx11_allocator.ipp:29:48: warning: unused variable ‘at’ [-Wunused-variable] In file included from config_test.cpp:116:0: boost_no_cxx11_hdr_array.ipp: In function ‘int boost_no_cxx11_hdr_array::test()’: boost_no_cxx11_hdr_array.ipp:19:36: warning: missing braces around initializer for ‘std::array<int, 3ul>::value_type [3] {aka int [3]}’ [-Wmissing-braces] In file included from config_test.cpp:151:0: boost_no_cxx11_hdr_mutex.ipp: In function ‘int boost_no_cxx11_hdr_mutex::test()’: boost_no_cxx11_hdr_mutex.ipp:21:14: error: ‘std::timed_mutex’ has not been declared boost_no_cxx11_hdr_mutex.ipp:22:14: error: ‘std::recursive_timed_mutex’ has not been declared In file included from config_test.cpp:211:0: boost_no_cxx11_smart_ptr.ipp: In function ‘int boost_no_cxx11_smart_ptr::test()’: boost_no_cxx11_smart_ptr.ipp:26:37: warning: unused variable ‘h1’ [-Wunused-variable] boost_no_cxx11_smart_ptr.ipp:27:37: warning: unused variable ‘h2’ [-Wunused-variable] In file included from config_test.cpp:231:0: boost_no_decltype.ipp: In function ‘int boost_no_cxx11_decltype::test()’: boost_no_decltype.ipp:43:15: warning: unused variable ‘j’ [-Wunused-variable] In file included from config_test.cpp:336:0: boost_no_is_abstract.ipp: In function ‘int boost_no_is_abstract::test()’: boost_no_is_abstract.ipp:49:80: warning: comparison between ‘enum boost_no_is_abstract::is_abstract_test<boost_no_is_abstract::non_abstract>::<anonymous>’ and ‘enum boost_no_is_abstract::is_abstract_test<boost_no_is_abstract::abstract>::<anonymous>’ [-Wenum-compare] In file included from config_test.cpp:571:0: boost_no_template_streams.ipp: In function ‘int boost_no_templated_iostreams::test()’: boost_no_template_streams.ipp:19:55: warning: unused variable ‘osr’ [-Wunused-variable] In file included from config_test.cpp:586:0: boost_no_typeid.ipp: In function ‘int boost_no_typeid::test()’: boost_no_typeid.ipp:19:15: warning: value computed is not used [-Wunused-value] boost_no_typeid.ipp:19:15: warning: statement has no effect [-Wunused-value] In file included from config_test.cpp:596:0: boost_no_unicode_literals.ipp: In function ‘int boost_no_cxx11_unicode_literals::test()’: boost_no_unicode_literals.ipp:20:19: warning: unused variable ‘c16’ [-Wunused-variable] boost_no_unicode_literals.ipp:21:19: warning: unused variable ‘c32’ [-Wunused-variable] In file included from config_test.cpp:601:0: boost_no_unified_init.ipp: In function ‘int boost_no_cxx11_unified_initialization_syntax::test()’: boost_no_unified_init.ipp:48:16: warning: unused variable ‘var1’ [-Wunused-variable] In file included from config_test.cpp:541:0: boost_no_std_wstreambuf.ipp: In instantiation of ‘boost_no_std_wstreambuf::parser_buf<charT, traits>::pos_type boost_no_std_wstreambuf::parser_buf<charT, traits>::seekoff(boost_no_std_wstreambuf::parser_buf<charT, traits>::off_type, std::ios_base::seekdir, std::ios_base::openmode) [with charT = char; traits = std::char_traits<char>; boost_no_std_wstreambuf::parser_buf<charT, traits>::pos_type = std::fpos<__mbstate_t>; boost_no_std_wstreambuf::parser_buf<charT, traits>::off_type = long long int; std::ios_base::seekdir = std::_Ios_Seekdir; std::ios_base::openmode = std::_Ios_Openmode]’: boost_no_std_wstreambuf.ipp:104:16: required from here boost_no_std_wstreambuf.ipp:59:4: warning: enumeration value ‘_S_ios_seekdir_end’ not handled in switch [-Wswitch] boost_no_std_wstreambuf.ipp: In instantiation of ‘boost_no_std_wstreambuf::parser_buf<charT, traits>::pos_type boost_no_std_wstreambuf::parser_buf<charT, traits>::seekoff(boost_no_std_wstreambuf::parser_buf<charT, traits>::off_type, std::ios_base::seekdir, std::ios_base::openmode) [with charT = wchar_t; traits = std::char_traits<wchar_t>; boost_no_std_wstreambuf::parser_buf<charT, traits>::pos_type = std::fpos<__mbstate_t>; boost_no_std_wstreambuf::parser_buf<charT, traits>::off_type = long long int; std::ios_base::seekdir = std::_Ios_Seekdir; std::ios_base::openmode = std::_Ios_Openmode]’: boost_no_std_wstreambuf.ipp:105:16: required from here boost_no_std_wstreambuf.ipp:59:4: warning: enumeration value ‘_S_ios_seekdir_end’ not handled in switch [-Wswitch] "/usr/local/gcc-4-7-svn/bin/g++" -ftemplate-depth-128 -std=gnu++0x -O0 -fno-inline -Wall -g -dynamic -gdwarf-2 -fexceptions -fPIC -DBOOST_ALL_NO_LIB=1 -I"../../.." -c -o "../../../bin.v2/libs/config/test/config_test.test/darwin-4.7.0x/debug/config_test.o" "config_test.cpp" ...failed darwin.compile.c++ ../../../bin.v2/libs/config/test/config_test.test/darwin-4.7.0x/debug/config_test.o... ...failed updating 1 target... pc6:test viboes$

John Maddock-3 wrote
I will see what could be wrong with my installation. Do you think this could be added to the release 1.52? Best, Vicente -- View this message in context: http://boost.2283326.n4.nabble.com/config-libs-not-supporting-std-u16string-... Sent from the Boost - Dev mailing list archive at Nabble.com.

I will see what could be wrong with my installation. Do you think this could be added to the release 1.52?
I think it's too late, but if you want to pester the review managers to get it in then good luck :-) But that's premature, first we need the changes and see that the tests pass... John.

On 10/8/2012 9:20 AM, John Maddock wrote:
If the question is: Is it too late to add features to Boost.Config, the answer is yes, undoubtedly. -- Eric Niebler BoostPro Computing http://www.boostpro.com
participants (4)
-
Eric Niebler
-
John Maddock
-
Vicente Botet
-
Vicente J. Botet Escriba