Ticket #2352: boost_filesystem.patch

File boost_filesystem.patch, 2.6 KB (added by Nicola Musatti, 14 years ago)
  • config.hpp

     
    6060
    6161//  narrow support only for badly broken compilers or libraries  -------------//
    6262
    63 # if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
     63# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610)
    6464#   define BOOST_FILESYSTEM_NARROW_ONLY
    6565# endif
    6666
    6767//  enable dynamic linking on Windows  ---------------------------------------//
    6868
    69 #  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__)
     69#  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) &&  BOOST_WORKAROUND(__BORLANDC__, <0x610) && defined(__WIN32__)
    7070#    error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead
    7171#  endif
    7272
  • convenience.hpp

     
    241241      else if ( is_directory( m_imp->m_stack.top()->status() ) )
    242242      {
    243243        system::error_code ec;
     244#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
     245        if( m_imp->m_no_throw ) {
     246            m_imp->m_stack.push(
     247                basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
     248            );
     249        }
     250        else {
     251            m_imp->m_stack.push(
     252                basic_directory_iterator<Path>( *m_imp->m_stack.top() )
     253            );
     254        }
     255#else
    244256        m_imp->m_stack.push(
    245257          m_imp->m_no_throw
    246258            ? basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
    247259            : basic_directory_iterator<Path>( *m_imp->m_stack.top() ) );
     260#endif
    248261        if ( m_imp->m_stack.top() != end_itr )
    249262        {
    250263          ++m_imp->m_level;
  • path.hpp

     
    533533    //  inserters and extractors  --------------------------------------------//
    534534
    535535// bypass VC++ 7.0 and earlier, and broken Borland compilers
    536 # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
     536# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, < 0x610)
    537537    template< class Path >
    538538    std::basic_ostream< typename Path::string_type::value_type,
    539539      typename Path::string_type::traits_type > &