diff --git a/include/boost/program_options/detail/utf8_codecvt_facet.hpp b/include/boost/program_options/detail/utf8_codecvt_facet.hpp index 59fe55c..b651e64 100644 --- a/include/boost/program_options/detail/utf8_codecvt_facet.hpp +++ b/include/boost/program_options/detail/utf8_codecvt_facet.hpp @@ -146,7 +146,11 @@ protected: const char * from, const char * from_end, std::size_t max_limit - ) const; +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + ) const throw(); +#else + ) const; +#endif // Largest possible value do_length(state,from,from_end,1) could return. virtual int do_max_length() const throw () { diff --git a/src/utf8_codecvt_facet.cpp b/src/utf8_codecvt_facet.cpp index 3a1a051..ba9199c 100644 --- a/src/utf8_codecvt_facet.cpp +++ b/src/utf8_codecvt_facet.cpp @@ -172,7 +172,11 @@ int utf8_codecvt_facet_wchar_t::do_length( const char * from, const char * from_end, std::size_t max_limit +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) +) const throw() +#else ) const +#endif { // RG - this code is confusing! I need a better way to express it. // and test cases.