id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 883,errors when build with Apache stdcxx,farid_zaripov,John Maddock,"{{{ I have been working on the Apache C++ Standard Library project (STDCXX): http://incubator.apache.org/stdcxx/ I've trying to compile the boost library with stdcxx. The details can be found here: http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200704.mbox/% 3c7BDB2168BEAEF14C98F1901FD2DE64386573EB@epmsa009.minsk.epam.com%3e Boost version: 1.33.1 STDCXX version: 4.2 I've got the following errors in boost/regex/v4/regex_workaround.hpp and boost/regex/v4/fileiter.hpp: D:\_Libs\boost_1_33_1\boost/regex/v4/regex_workaround.hpp(145) : error C2653: 'stdext' : is not a class or namespace name D:\_Libs\boost_1_33_1\boost/regex/v4/regex_replace.hpp(44) : see reference to function template instantiation 'OutputIterator boost::re_detail::copy(InputIterator,InputIterator,OutputIterator)' being compiled with [ OutputIterator=boost::re_detail::string_out_iterator, BidirectionalIterator=__rw::__rw_debug_iter,std::allocator>,const char *,char *>, InputIterator=__rw::__rw_debug_iter,std::allocator>,const char *,char *> ] D:\_Libs\boost_1_33_1\libs\regex\build\../src/cregex.cpp(446) : see reference to function template instantiation 'OutputIterator boost::regex_replace,__rw::__rw_debug_iter<_Container,_Iterator,_MutableIterator>,boost::regex_traits,char>(OutputIterator,BidirectionalIterator,BidirectionalIterator,const boost::basic_regex &,const charT *,boost::regex_constants::match_flag_type)' being compiled with [ OutputIterator=boost::re_detail::string_out_iterator, S=std::string, _Container=std::basic_string,std::allocator>, _Iterator=const char *, _MutableIterator=char *, charT=char, BidirectionalIterator=__rw::__rw_debug_iter,std::allocator>,const char *,char *>, traits=boost::regex_traits ] D:\_Libs\boost_1_33_1\boost/regex/v4/regex_workaround.hpp(145) : error C3861: 'unchecked_copy': identifier not found D:\_Libs\boost_1_33_1\boost/regex/v4/regex_workaround.hpp(145) : error C2653: 'stdext' : is not a class or namespace name D:\_Libs\boost_1_33_1\boost/regex/v4/regex_replace.hpp(44) : see reference to function template instantiation 'OutputIterator boost::re_detail::copy(InputIterator,InputIterator,OutputIterator)' being compiled with [ OutputIterator=boost::re_detail::string_out_iterator, BidirectionalIterator=const char *, InputIterator=const char * ] D:\_Libs\boost_1_33_1\libs\regex\build\../src/cregex.cpp(456) : see reference to function template instantiation 'OutputIterator boost::regex_replace,const char*,boost::regex_traits,char>(OutputIterator,BidirectionalIterator,BidirectionalIterator,const boost::basic_regex &,const charT *,boost::regex_constants::match_flag_type)' being compiled with [ OutputIterator=boost::re_detail::string_out_iterator, S=std::string, charT=char, BidirectionalIterator=const char *, traits=boost::regex_traits ] D:\_Libs\boost_1_33_1\boost/regex/v4/regex_workaround.hpp(145) : error C3861: 'unchecked_copy': identifier not found CALL ""D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\bin\vcvars32.BAT"" >nul ""D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\bin\cl"" /Zm800 -nologo /EHsc -c -DBOOST_REGEX_CONFIG_INFO=1 -D_RWSTDDEBUG /Z7 /Od /Ob0 /EHsc /GR /MTd /Zc:forScope /Zc:wchar_t -I""bin\boost\libs\regex\build"" -I""D:\_Projects\stdcxx_working\include"" -I""D:\_Projects\stdcxx_working\include\ansi"" -I""D:\_Projects\stdcxx_working\build\msvc-8.0\15s\include"" -I""D:\_Libs\boost_1_33_1"" -Fo""bin\boost\libs\regex\build\libboost_regex.lib\vc-8_0-stdcxx\debug\runtime-link-static\threading-multi\cregex.obj"" -Tp""D:\_Libs\boost_1_33_1\libs\regex\build\../src/cregex.cpp"" D:\_Libs\boost_1_33_1\boost/regex/v4/fileiter.hpp(331) : error C2039: 'ptrdiff_t' : is not a member of 'std' D:\_Libs\boost_1_33_1\boost/regex/v4/fileiter.hpp(378) : error C2039: 'ptrdiff_t' : is not a member of 'std' CALL ""D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\bin\vcvars32.BAT"" >nul ""D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\bin\cl"" /Zm800 -nologo /EHsc -c -DBOOST_REGEX_CONFIG_INFO=1 -D_RWSTDDEBUG /Z7 /Od /Ob0 /EHsc /GR /MTd /Zc:forScope /Zc:wchar_t -I""bin\boost\libs\regex\build"" -I""D:\_Projects\stdcxx_working\include"" -I""D:\_Projects\stdcxx_working\include\ansi"" -I""D:\_Projects\stdcxx_working\build\msvc-8.0\15s\include"" -I""D:\_Libs\boost_1_33_1"" -Fo""bin\boost\libs\regex\build\libboost_regex.lib\vc-8_0-stdcxx\debug\runtime-link-static\threading-multi\fileiter.obj"" -Tp""D:\_Libs\boost_1_33_1\libs\regex\build\../src/fileiter.cpp"" I propose to #include in fileiter.hpp to define the std::ptrdiff_t. And also I propose to change the line 131 in regex_workaround.hpp from #if BOOST_WORKAROUND(BOOST_MSVC,>=1400) to the #if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && defined(BOOST_DINKUMWARE_STDLIB) }}}",Bugs,closed,,regex,None,Problem,fixed,,