Index: config.hpp =================================================================== --- config.hpp (revision 3) +++ config.hpp (working copy) @@ -60,13 +60,13 @@ // narrow support only for badly broken compilers or libraries -------------// -# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) +# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610) # define BOOST_FILESYSTEM_NARROW_ONLY # endif // enable dynamic linking on Windows ---------------------------------------// -# if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__) +# if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && BOOST_WORKAROUND(__BORLANDC__, <0x610) && defined(__WIN32__) # error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead # endif Index: convenience.hpp =================================================================== --- convenience.hpp (revision 3) +++ convenience.hpp (working copy) @@ -241,10 +241,23 @@ else if ( is_directory( m_imp->m_stack.top()->status() ) ) { system::error_code ec; +#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610)) + if( m_imp->m_no_throw ) { + m_imp->m_stack.push( + basic_directory_iterator( *m_imp->m_stack.top(), ec ) + ); + } + else { + m_imp->m_stack.push( + basic_directory_iterator( *m_imp->m_stack.top() ) + ); + } +#else m_imp->m_stack.push( m_imp->m_no_throw ? basic_directory_iterator( *m_imp->m_stack.top(), ec ) : basic_directory_iterator( *m_imp->m_stack.top() ) ); +#endif if ( m_imp->m_stack.top() != end_itr ) { ++m_imp->m_level; Index: path.hpp =================================================================== --- path.hpp (revision 3) +++ path.hpp (working copy) @@ -533,7 +533,7 @@ // inserters and extractors --------------------------------------------// // bypass VC++ 7.0 and earlier, and broken Borland compilers -# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, < 0x610) template< class Path > std::basic_ostream< typename Path::string_type::value_type, typename Path::string_type::traits_type > &